5.5. Prometheus を使用したブローカーランタイムデータへのアクセス
前提条件
- Prometheus プラグインによって収集されるブローカーランタイムデータをクエリーおよび可視化するには、Prometheus をインストールする必要があります。詳細は、Prometheus ドキュメントの Installing Prometheus を参照してください。
手順
-
Prometheus をインストールしたディレクトリーで、
prometheus.yml
設定ファイルを開きます。 -
設定ファイルの
static_configs
セクションで、targets
要素をlocalhost:8161
に変更します。この場所は、ブローカーが Web サーバーを実行する場所です。デフォルトでは、このホスト名に/metrics
が追加され、ブローカー Web サーバーに保存されているメトリクスへの完全なパスが形成されます。 Prometheus プラグインによって収集されたブローカーランタイムメトリクスを表示するために、Web ブラウザーで
localhost:8161/metrics
を開きます。表示される Web ページに、ブローカーで設定したキューとアドレスに基づいて、プラグインによって収集されたメトリクスの現在の値が表示されます。JVM 内に実行中のブローカーインスタンスが複数ある場合は、ブローカーごとにメトリクスが表示されます。
Prometheus インストールディレクトリーから、Prometheus を実行します。
./prometheus
$ ./prometheus
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Prometheus が起動すると、シェル出力に以下の行が含まれます。
component=web, msg=”Start listening for connections” address=0.0.0.0:9090
component=web, msg=”Start listening for connections” address=0.0.0.0:9090
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 上記の行は、Prometheus がポート 9090 で HTTP トラフィックをリッスンしていることを示しています。
-
Prometheus Web コンソールにアクセスするには、Web ブラウザーで
127.0.0.1:9090
を開きます。 Prometheus Web コンソールで、
Expression
フィールドを使用して、ブローカーデータにクエリーを作成できます。作成するクエリーは、Prometheus クエリー言語 PromQL に基づいています。Insert metric
ドロップダウンリストに、クエリーに挿入できるブローカーメトリクスがあります。簡単な例として、DLQ キューのメッセージ数を経時的にクエリーするとします。この場合、メトリクスのドロップダウンリストから
artemis_message_count
を選択します。DLQ キュー名とアドレスを指定してクエリーを完了します。このクエリーの例を以下に示します。artemis_message_count{address=“DLQ”, queue=“DLQ”}
artemis_message_count{address=“DLQ”, queue=“DLQ”}
Copy to Clipboard Copied! Toggle word wrap Toggle overflow さらに詳細に視覚化する場合は、正規表現を使用して、たとえば複数のメトリクスを重ね合わせる複雑なクエリーを作成できます。または、複数のメトリクスに対して、それらを集計するなどの数学演算を実行することもできます。Prometheus クエリーの作成に関する詳細は、Prometheus ドキュメントの Prometheus のクエリー を参照してください。