第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_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 のデプロイには適用されません。