第12章 Open Liberty の監視

MicroProfile Metrics および MicroProfile Health を使用して、Open Liberty で実行されるマイクロサービスとアプリケーションを監視できます。マイクロサービスのメトリクスおよびヘルスチェックデータを有効化および報告すると、問題の特定、キャパシティープランニング用のデータを収集し、サービスのスケールアップまたはダウンのタイミングを決定するのに役立ちます。

12.1. メトリクスを使用したモニタリング

Open Liberty では、アプリケーション、MicroProfile Metrics によって提供される REST エンドポイントスタイルのメトリクス、および Java Management Extensions(JMX)メトリクスを監視できるメトリクスが 2 つ利用できます。

MicroProfile Metrics には、Prometheus などのモニタリングツールや REST 要求を実行できるすべてのクライアントがアクセスできます。JMX メトリクスは、JMX サーバーと通信できる Java ベースの監視ツールやカスタム JMX クライアントによる使用に適しています。

12.1.1. MicroProfile Metrics および /metrics エンドポイント

MicroProfile Metrics 機能は、MicroProfile Metrics 仕様に準拠する /metrics REST インターフェースを提供します。Open Liberty は MicroProfile Metrics を使用して、多くの Open Liberty コンポーネントの内部状態を記述するメトリクスを公開します。開発者は MicroProfile Metrics API を使用して、アプリケーションからメトリクスを公開することもできます。

メトリックは、カウンター、測定、タイマー、ヒストグラム、ヒストグラムなどのさまざまな形式で提供されます。MicroProfile Metrics 機能を 有効にして MicroProfile Metrics にアクセスでき ます。すべてのメトリックのリアルタイム値は、/metrics エンドポイントを呼び出すことで利用できます。これらのメトリクスをアプリケーションに追加する方法は、「メトリクスを使用した マイクロサービス可観測性」を参照してください。Open Liberty で利用可能なすべての REST エンドポイントスタイルのメトリクスの一覧は、「 メトリクス参照リスト」を参照 してください。

/metrics エンドポイントは 2 つの出力形式を提供します。各応答が使用する形式は、対応するリクエストの HTTP 許可ヘッダーによって異なります。Prometheus 形式は、オープンソースメトリクス収集、データストア および基本的な視覚化ツールです。この形式は、テキスト/plain accept ヘッダーが設定されたリクエストに対して返されます。JSON 形式はメトリクスの JSON 表現です。この形式は、application/json accept ヘッダーが設定されたリクエストに対して返されます。

以下の表は、Prometheus または JSON 形式でメトリクスを提供するために GET 要求でアクセスできる各種のエンドポイントを示しています。

表12.1 GET リクエストがアクセスできるメトリクスエンドポイント

エンドポイント要求タイプサポートされる形式説明

/metrics

GET

Prometheus、JSON

登録したすべてのメトリクスを返します。

/metrics/<scope>

GET

Prometheus、JSON

指定されたスコープに登録されるメトリクスを返します。

/metrics/<scope>/<metric name>

GET

Prometheus、JSON

指定されたスコープのメトリクス名に一致するメトリクスを返します。

12.1.2. JMX メトリクス

JMX メトリクスにアクセスするには 、Performance Monitoring 機能を有効にし ます。この機能をサーバー設定に追加すると、JMX メトリクスは自動的に監視されます。Performance Monitoring 機能は、JConsole などの JMX を使用するモニタリングツールで使用できる MXBean を提供します。

JConsole は、JVM および Java アプリケーションの監視に使用できるグラフィカルな監視ツールです。Open Liberty のモニタリングを有効にしたら、JConsole を使用して JVM に接続し、MXBeans の属性をクリックしてパフォーマンスデータを表示できます。JMX メトリクスを使用する他のプロダクトを使用して、メトリクス情報を表示することもできます。Open Liberty で利用可能なすべての JMX メトリクスの一覧は、「 JMX metrics reference list 」を参照してください。

12.1.3. 両方のタイプのメトリクスの組み合わせ

MicroProfile Metrics 機能は、JVM および MicroProfile Metrics API を使用してアプリケーションに追加されるメトリクスに関する基本的なメトリクスを提供します。ただし、MicroProfile Metrics 機能は Performance Monitoring 機能と併用しない限り、Open Liberty サーバーコンポーネントのメトリクスを提供しません。

MicroProfile Metrics および Performance Monitoring 機能の両方を有効にすると、監視用の MXBeans と /metrics REST エンドポイントがアクティベートされます。この場合、Open Liberty サーバーコンポーネントのメトリクスは両方のインターフェースで公開されます。MicroProfile Metrics 機能バージョン 2.3 以降は、Performance Monitoring 機能を自動的に有効にします。