このトピックでは、Managed Service for Prometheus を使用して、Micrometer でインストルメント化された Java アプリケーションをモニタリングする方法について説明します。
前提条件
Java アプリケーション。
ステップ 1: Micrometer を使用した Java アプリケーションのインストルメント化
このトピックでは、Spring Boot 2.x アプリケーションを例として使用します。
-
pom.xml ファイルに Spring Boot Actuator の依存関係を追加します。
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> <version>x.y.x</version> </dependency>説明最新バージョンについては、Alibaba Cloud リポジトリを検索してください。
-
Actuator が Prometheus モニタリングエンドポイントとスコープを公開するように設定します。application.properties ファイルに次のプロパティを追加してください。
management.server.port=8080 management.endpoints.web.exposure.include=xxx, prometheus -
pom.xml ファイルに Micrometer の依存関係を追加します。
<dependency> <groupId>io.micrometer</groupId> <artifactId>micrometer-registry-prometheus</artifactId> <version>x.y.z</version> </dependency>説明最新バージョンについては、Alibaba Cloud リポジトリを検索してください。
-
pom.xml ファイルに Micrometer JVM Extras の依存関係を追加します。
<dependency> <groupId>io.github.mweirauch</groupId> <artifactId>micrometer-jvm-extras</artifactId> <version>0.2.2</version> </dependency>説明最新バージョンについては、Alibaba Cloud リポジトリを検索してください。
-
Micrometer JVM Extras を設定します。追加のメモリおよびスレッド関連のメトリクスを公開するために、次の 2 つの Spring bean 定義を追加してください。
/* Spring を使用 */ @Bean public MeterBinder processMemoryMetrics() { return new ProcessMemoryMetrics(); } @Bean public MeterBinder processThreadMetrics() { return new ProcessThreadMetrics(); } -
Java アプリケーションを Container Service for Kubernetes (ACK) または ECS インスタンスにデプロイします。
Java アプリケーションを ACK または ECS インスタンスにデプロイします。デプロイが正常に完了したら、
http://localhost:8080/actuator/prometheusなどのアプリケーションのリッスンアドレスにアクセスして、メトリクスが正しく公開されていることを確認してください。ポート 8080 は application.properties ファイルで指定されています。URL 内のポートは、実際のポート番号に置き換えてください。
ステップ 2: Micrometer との統合
-
ARMS コンソールにログインします。 左側のナビゲーションペインで、アクセスセンター を選択します。[統合センター] ページで、[Micrometer] を検索してクリックします。

-
Micrometer パネルの アクセス開始 タブで、環境タイプの選択 で選択を行い、統合設定を完了してから OK をクリックします。

パラメータ
説明
[環境タイプの選択]
アプリケーションが実行されている環境のタイプ。次の 2 つの環境タイプと統合できます。
-
Kubernetes 環境
-
ECS (VPC)
[Container Service クラスターを選択]
対象のクラスターを選択します。
[Pod ラベル]
Micrometer アプリケーションの Pod を検出するために使用される Pod ラベル。識別しやすいように、特定のラベルを使用してください。
[サービスポート]
Java アプリケーションのポート。デフォルトのポート番号が自動的に入力されます。
[メトリクス収集パス]
Micrometer メトリクスが公開されるパス。デフォルトのパスが自動的に入力されます。
[HTTPS でデータを収集]
デフォルトでは、メトリクスは HTTP プロトコルで収集されます。サービスが HTTPS に対応しており、HTTPS でデータを収集する場合は、このスイッチをオンにしてください。
[メトリック スクレイプ 間隔 (秒)]
Managed Service for Prometheus がメトリクスをスクレイピングする間隔。デフォルト値は 30 秒です。
-
ステップ 3: Micrometer ダッシュボードの表示
-
ARMS コンソールにログインします。左側のナビゲーションペインで、アクセス管理 をクリックします。アクセス管理 ページで、アクセス済みの環境 タブをクリックし、ターゲット環境を選択して、その名前をクリックして詳細ページに移動します。

-
コンポーネントの管理 タブの コンポーネントタイプ セクションで Micrometer コンポーネントを見つけ、Dashboard をクリックすると、利用可能なダッシュボードが表示されます。

-
ダッシュボード名をクリックすると、対応する Grafana ダッシュボードが表示されます。

ステップ 4: Micrometer アラートの設定
-
コンポーネントの管理 タブで、コンポーネントタイプ セクションで Micrometer コンポーネントを見つけ、Alarm Rules をクリックしてデフォルトのアラームルールを表示します。

-
ビジネス要件に基づいてアラートルールを追加することもできます。 Prometheus の Alarm Rules を作成する方法の詳細については、「Prometheus のアラートルールを作成する」をご参照ください。