PrometheusをSpring Bootと統合する方法


Prometheusは人気のあるオープンソースの監視ツールです。Spring Bootと統合することで、アプリケーションのメトリクスを収集し、リアルタイムで監視することができます。以下に、PrometheusをSpring Bootアプリケーションに統合する手順を示します。

  1. Prometheusの依存関係を追加する: Spring Bootプロジェクトのpom.xmlファイルに、Prometheusの依存関係を追加します。以下は、例です。

    <dependency>
       <groupId>io.micrometer</groupId>
       <artifactId>micrometer-registry-prometheus</artifactId>
    </dependency>
  2. Prometheusの設定を追加する: Spring Bootの設定ファイル(application.propertiesまたはapplication.yml)に、Prometheusの設定を追加します。以下は、例です。

    management:
     endpoints:
       web:
         exposure:
           include: prometheus
  3. メトリクスを公開する: Spring Bootのエンドポイントにメトリクスを公開するために、@EnablePrometheusEndpointアノテーションを使用します。以下は、例です。

    import org.springframework.boot.actuate.endpoint.annotation.Endpoint;
    import org.springframework.boot.actuate.endpoint.annotation.ReadOperation;
    import org.springframework.boot.actuate.endpoint.annotation.Selector;
    import org.springframework.stereotype.Component;
    @Component
    @Endpoint(id = "custom")
    public class CustomEndpoint {
       @ReadOperation
       public String getCustomMetric(@Selector String metricName) {
           // メトリクスの取得ロジックを実装する
           return "Custom metric: " + metricName;
       }
    }

    上記の例では、/actuator/custom/{metricName}エンドポイントが作成され、metricNameパス変数を使用してカスタムメトリクスを取得できます。

  4. Prometheusにアクセスする: Spring Bootアプリケーションを起動し、Prometheusのエンドポイントにアクセスします。デフォルトでは、http://localhost:8080/actuator/prometheusにアクセスすることができます。

これで、Spring BootアプリケーションとPrometheusが統合され、アプリケーションのメトリクスがPrometheusによって収集されます。これにより、リアルタイムでアプリケーションのパフォーマンスを監視し、必要に応じて問題を特定することができます。