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