このトピックでは、Java アプリケーション用に Micrometer を構成し、Alibaba Cloud Managed Service for Prometheus を使用してアプリケーションを監視する方法について説明します。
前提条件
Java アプリケーションが作成されていること。
ステップ 1: アプリケーション用に Micrometer を構成する
Spring Boot 2.x アプリケーションを例として使用します。
Java アプリケーションが存在するプロジェクトの pom.xml ファイルに、Spring Boot Actuator の依存関係を追加します。
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> <verson>x.y.x</version> </dependency>
説明最新の Maven プロジェクトバージョンを取得するには、Alibaba Cloud リポジトリ にアクセスしてください。
Spring Boot Actuator を構成し、application.properties ファイルに関連する構成を追加して、監視データを提供するポートとエンドポイントを公開します。
management.server.port=8080 management.endpoints.web.exposure.include=xxx, prometheus
Maven プロジェクトの pom.xml ファイルに Micrometer の依存関係を追加します。
<dependency> <groupId>io.micrometer</groupId> <artifactId>micrometer-registry-prometheus</artifactId> <version>x.y.z</version> </dependency>
説明最新の Maven プロジェクトバージョンを取得するには、Alibaba Cloud リポジトリ にアクセスしてください。
pom.xml ファイルに Micrometer JVM Extras の依存関係を追加します。
<dependency> <groupId>io.github.mweirauch</groupId> <artifactId>micrometer-jvm-extras</artifactId> <version>0.2.2</version> </dependency>
説明最新の Maven プロジェクトバージョンを取得するには、Alibaba Cloud リポジトリ にアクセスしてください。
Micrometer JVM Extras を構成します。メモリとスレッドのメトリクスを公開するために、次の Spring Bean を追加します。
/* Spring を使用する場合 */ @Bean public MeterBinder processMemoryMetrics() { return new ProcessMemoryMetrics(); } @Bean public MeterBinder processThreadMetrics() { return new ProcessThreadMetrics(); }
Alibaba Cloud Container Service for Kubernetes (ACK) クラスタまたは Elastic Compute Service (ECS) インスタンスにアプリケーションをデプロイします。
次に、監視データを提供するエンドポイントにアクセスし、メトリクスが公開されているかどうかを確認します。エンドポイントの例:
http://localhost:8080/actuator/prometheus
。ポート 8080 は例として使用されています。ポート 8080 を、application.properties ファイルで構成したポート番号に置き換えてください。
ステップ 2: Micrometer コンポーネントを有効にする
Managed Service for Prometheus コンソール にログインします。 左側のナビゲーションペインで、[統合センター] をクリックします。表示されるページで、[micrometer] コンポーネントを検索します。
MicroMeter パネルの [統合の開始] タブで、パラメータを構成し、[OK] をクリックします。
パラメータ
説明
環境タイプの選択
アプリケーションがデプロイされている環境。有効な値:
Kubernetes 環境
ECS(VPC)
クラスタの選択
アプリケーションがデプロイされている ACK クラスタ。アプリケーションが ACK クラスタにデプロイされている場合に、このパラメータを使用できます。
ラベル
Micrometer がデプロイされている Pod のラベル。意味のあるラベルを使用することをお勧めします。
サービスポート
アプリケーションのポート。デフォルトのポート番号が自動的に入力されます。
メトリクス収集パス
メトリクスを公開するエンドポイント。デフォルトのエンドポイントが自動的に入力されます。
HTTPS を使用してデータを収集する
デフォルトでは、メトリクスデータは HTTP プロトコルを介して収集されます。HTTPS を使用する場合は、スイッチをオンにします。
メトリクススクレイピング間隔 (単位/秒)
メトリクスデータが収集される間隔。デフォルト値: 30。
ステップ 3: ダッシュボードを表示する
Managed Service for Prometheus コンソール にログインします。 左側のナビゲーションペインで、[統合管理] をクリックします。[統合環境] タブの [統合管理] ページで、環境の名前をクリックします。
[アドオンタイプ] セクションの [コンポーネント管理] タブで、MicroMeter をクリックします。次に、[ダッシュボード] をクリックして、すべてのダッシュボード名を表示します。
ダッシュボードの名前をクリックします。
ステップ 4: アラートを構成する
[アドオンタイプ] セクションの [コンポーネント管理] タブで、MicroMeter をクリックします。次に、[アラートルール] をクリックして、すべてのデフォルトアラートルールを表示します。
ビジネス要件に基づいてアラートルールを作成できます。Prometheus アラートルールの作成方法については、Prometheus インスタンスのアラートルールを作成する を参照してください。