第5章 ブローカーのランタイムメトリクスの監視
AMQ Broker をインストールすると、Prometheus メトリクスプラグインがインストール環境に追加されます。Prometheus は、大規模でスケーラブルなシステムを監視し、長期間に履歴ランタイムデータを保存するために構築されたソフトウェアです。プラグインを有効にするには、ブローカー設定を変更する必要があります。有効にすると、プラグインはブローカーのランタイムメトリクスを収集して Prometheus 形式にエクスポートします。その後、Prometheus を使用してメトリクスを確認できます。Grafana などのグラフィカルツールを使用して、データのより高度な可視化を設定することもできます。
Prometheus メトリクスプラグインを使用すると、ブローカーメトリクスを Prometheus 形式 で収集およびエクスポートできます。ただし、Red Hat では、Prometheus 自体のインストールや設定、または Grafana などの視覚化ツールは、サポートしていません。Prometheus または Grafana のインストール、設定、または実行に関するサポートが必要な場合は、製品の Web サイトにアクセスして、コミュニティーのサポートやドキュメントなどのリソースを入手してください。
Prometheus プラグインによって収集されるブローカーメトリクスに加えて、ブローカーのホスト Java 仮想マシン (JVM) に関連する標準のメトリクスセットを取得するようにブローカー設定を変更できます。具体的には、ガベージコレクション (GC)、メモリー、スレッドの JVM メトリクスを取得できます。
これ以降のセクションで以下を説明します。
5.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_session_count
- このブローカー上のセッション数。
artemis_total_session_count
- このブローカーが起動してから作成されたセッションの合計数。
artemis_total_connection_count
- このブローカーが起動してから、このブローカーに接続したクライアントの数。
artemis_disk_store_usage
- 使用されている合計ディスクストアの割合。
artemis_replica_sync
- プライマリーブローカーとバックアップブローカー間の初期レプリケーション同期プロセスが完了しているかどうか。
artemis_active
- プライマリー/バックアップグループ構成内のブローカーがアクティブであるかどうか。
artemis_authentication_count
- 成功した認証試行と失敗した認証試行の回数。
artemis_authorization_count
- 成功した認可試行と失敗した認可試行の数。
アドレスメトリクス
artemis_routed_message_count
- 1 つ以上のキューバインディングにルーティングされたメッセージの数。
artemis_unrouted_message_count
- キューバインディングに ルーティングされなかった メッセージの数。
artemis_address_size
- このアドレスにバインドされているすべてのキューで使用されているサイズ (バイト単位)。
artemis_number_of_pages
- このアドレスのメッセージを保存するために使用されているページファイルの数。
artemis_limit_percent
-
このアドレスで使用されている設定済みメモリー制限のパーセンテージ。
max-size-bytes
属性を使用してアドレスにメモリー制限が設定されている場合は、その値に基づくパーセンテージが報告されます。max-size-bytes
属性が設定されていない場合は、global-max-size
属性の値に基づくパーセンテージが報告されます。どちらの属性も設定されていない場合は、値 0 が報告されます。
キューメトリクス
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
メトリクスを集計できます。
RHEL 上の AMQ Broker のスタンドアロンデプロイメントの場合は、ブローカーをホストする Java 仮想マシン (JVM) のメトリクスが Prometheus 形式にエクスポートされます。これは、OpenShift Container Platform 上の AMQ Broker のデプロイメントには適用されません。