Prometheusは人気のあるオープンソースの監視ツールです。Spring Bootと統合することで、アプリケーションのメトリクスを収集し、リアルタイムで監視することができます。以下に、PrometheusをSpring Bootアプリケーションに統合する手順を示します。
-
Prometheusの依存関係を追加する: Spring Bootプロジェクトのpom.xmlファイルに、Prometheusの依存関係を追加します。以下は、例です。
<dependency> <groupId>io.micrometer</groupId> <artifactId>micrometer-registry-prometheus</artifactId> </dependency>
-
Prometheusの設定を追加する: Spring Bootの設定ファイル(application.propertiesまたはapplication.yml)に、Prometheusの設定を追加します。以下は、例です。
management: endpoints: web: exposure: include: prometheus
-
メトリクスを公開する: 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
パス変数を使用してカスタムメトリクスを取得できます。 -
Prometheusにアクセスする: Spring Bootアプリケーションを起動し、Prometheusのエンドポイントにアクセスします。デフォルトでは、
http://localhost:8080/actuator/prometheus
にアクセスすることができます。
これで、Spring BootアプリケーションとPrometheusが統合され、アプリケーションのメトリクスがPrometheusによって収集されます。これにより、リアルタイムでアプリケーションのパフォーマンスを監視し、必要に応じて問題を特定することができます。