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