第4章 ブローカーランタイムメトリクスのモニタリング
AMQ Broker のインストール時に、Prometheus メトリクスプラグインはインストールに含まれます。Prometheus は、大規模でスケーラブルなシステムを監視し、長期間に履歴ランタイムデータを保存するために構築されたソフトウェアです。プラグインを有効にするには、ブローカー設定を変更する必要があります。有効にすると、プラグインはブローカーのランタイムメトリクスを収集し、それらを Prometheus 形式にエクスポートします。その後、Prometheus を使用してメトリクスを確認できます。Grafana などのグラフィカルツールを使用して、データのより高度な可視化を設定することもできます。
Prometheus メトリクスプラグインを使用すると、Prometheus 形式 でブローカーメトリクスを収集し、エクスポートできます。ただし、Red Hat は、Prometheus 自体のインストールや設定、Grafana などの可視化ツールのサポートを提供しませ ん。Prometheus または Grafana のインストール、設定、実行のサポートが必要な場合は、コミュニティーサポートやドキュメントなどのリソースの製品の Web サイトを参照してください。
Prometheus プラグインによって収集されるブローカーメトリクスのほかに、ブローカー設定を変更して、ブローカーの Java 仮想マシン(JVM)ホストに関連するメトリクスの標準セットをキャプチャーできます。具体的には、ガベージコレクション(GC)、メモリー、スレッドの JVM メトリクスをキャプチャーできます。
これ以降のセクションで以下を説明します。
4.1. メトリクスの概要
ブローカーインスタンスの正常性およびパフォーマンスを監視するには、AMQ Broker の Prometheus プラグインを使用してブローカーランタイムメトリクスを監視および保存できます。AMQ Broker Prometheus プラグインはブローカーランタイムメトリクスを Prometheus 形式にエクスポートし、Prometheus 自体を使用してデータのクエリーを可視化し、実行できるようにします。
Grafana などのグラフィカルツールを使用して、Prometheus プラグインが収集するメトリクスのより高度な可視化およびダッシュボードを設定することもできます。
プラグインが Prometheus 形式にエクスポートするメトリクスを以下に示します。
ブローカーメトリクス
artemis_address_memory_usage
- インメモリーメッセージに対してこのブローカーのすべてのアドレスによって使用されるバイト数。
artemis_address_memory_usage_percentage
-
このブローカ上のすべてのアドレスで使用されるメモリを、
global-max-size
パラメータの割合で示したもの。 artemis_connection_count
- このブローカーに接続されているクライアントの数。
artemis_total_connection_count
- 起動してからこのブローカーに接続したクライアントの数。
アドレスメトリクス
artemis_routed_message_count
- 1 つ以上のキューバインディングにルーティングされるメッセージの数。
artemis_unrouted_message_count
- キューバインディングにルーティングさ れない メッセージの数。
キューメトリクス
artemis_consumer_count
- 指定のキューからメッセージを消費するクライアントの数。
artemis_delivering_durable_message_count
- 指定のキューが現在コンシューマーに配信している永続メッセージの数。
artemis_delivering_durable_persistent_size
- 指定のキューが現在コンシューマーに配信している永続メッセージの永続サイズ。
artemis_delivering_message_count
- 指定のキューが現在コンシューマーに配信しているメッセージの数。
artemis_delivering_persistent_size
- 指定のキューが現在コンシューマーに配信しているメッセージの永続サイズ。
artemis_durable_message_count
- 現在指定のキューにある永続メッセージの数。これには、スケジュールされたメッセージ、ページングされたメッセージ、および配信メッセージが含まれます。
artemis_durable_persistent_size
- 現在指定のキューにある永続メッセージの永続サイズ。これには、スケジュールされたメッセージ、ページングされたメッセージ、および配信メッセージが含まれます。
artemis_messages_acknowledged
- キューの作成以降、指定のキューから確認応答されたメッセージの数。
artemis_messages_added
- キューの作成以降、指定のキューに追加されたメッセージの数。
artemis_message_count
- 指定のキューに現在あるメッセージの数。これには、スケジュールされたメッセージ、ページングされたメッセージ、および配信メッセージが含まれます。
artemis_messages_killed
- キューの作成以降、指定のキューから削除されたメッセージの数。ブローカーは、設定された最大配信試行回数を超えるとメッセージを強制終了します。
artemis_messages_expired
- キューの作成以降、指定のキューから期限切れになったメッセージの数。
artemis_persistent_size
- 現在指定のキューにあるすべてのメッセージの永続サイズ(永続および非永続の両方)。これには、スケジュールされたメッセージ、ページングされたメッセージ、および配信メッセージが含まれます。
artemis_scheduled_durable_message_count
- 指定のキューにスケジュールされた永続メッセージの数。
artemis_scheduled_durable_persistent_size
- 指定のキューにスケジュールされたメッセージの永続サイズ。
artemis_scheduled_message_count
- 指定のキューにスケジュールされたメッセージの数。
artemis_scheduled_persistent_size
- 指定のキューにスケジュールされたメッセージの永続サイズ。
上記に記載されていない高レベルのブローカーメトリクスの場合は、下位レベルのメトリクスを集計してこれらのメトリクスを計算できます。たとえば、メッセージの合計数を算出するには、ブローカーデプロイメントのすべてのキューから artemis_message_count
メトリクスを集約できます。
AMQ Broker のオンプレミスデプロイメントでは、ブローカーをホストする Java 仮想マシン(JVM)のメトリクスも Prometheus 形式にエクスポートされます。これは、OpenShift Container Platform 上の AMQ Broker のデプロイメントには適用されません。