4.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 が起動すると、シェル出力に以下の行が含まれます。
component=web, msg=”Start listening for connections” address=0.0.0.0:9090
上記の行は、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”}
さらに高度な視覚化を行うには、正規表現を使用して、複数のメトリクスをオーバーレイする複雑なクエリーを作成できます。または、多数のメトリクスで数学的な操作(集計など)を実行することもできます。Prometheus クエリーの作成に関する詳細は、Prometheus ドキュメント の「Prometheus のクエリー」を参照してください。