4.5. Prometheus を使用したブローカーランタイムデータへのアクセス

前提条件

  • Prometheus プラグインによって収集されるブローカーランタイムデータをクエリーおよび可視化するには、Prometheus をインストールする必要があります。詳細は、Prometheus ドキュメントの Installing Prometheus を参照してください。

手順

  1. Prometheusをインストールしたディレクトリで、prometheus.yml設定ファイルを開きます。
  2. 設定ファイルのstatic_configsセクションで、targets要素をlocalhost:8161に変更します。この場所は、ブローカーが Web サーバーを実行する場所です。デフォルトでは、/metrics はこのホスト名に追加され、ブローカー Web サーバーに保存されているメトリクスへの完全パスを形成します。
  3. Prometheus プラグインによって収集されるブローカーランタイムメトリクスを表示するには、Web ブラウザーで localhost:8161/metrics を開きます。

    生成される Web ページで、ブローカーに設定したキューおよびアドレスに基づいて、プラグインによって収集されるメトリクスの現在の値が表示されます。JVM に複数の実行中のブローカーインスタンスがある場合、各ブローカーのメトリクスが表示されます。

  4. Prometheus インストールディレクトリーから、Prometheus を実行します。

    $ ./prometheus

    Prometheus が起動すると、シェル出力に以下の行が含まれます。

    component=web, msg=”Start listening for connections” address=0.0.0.0:9090

    上記の行は、Prometheus がポート 9090 で HTTP トラフィックをリッスンしていることを示しています。

  5. Prometheus Web コンソールにアクセスするには、Web ブラウザーで 127.0.0.1:9090 を開きます。
  6. Prometheus Web コンソールで、Expression フィールドを使用して、ブローカーデータにクエリーを作成できます。作成するクエリーは、Prometheus クエリー言語 PromQL に基づいています。クエリーの挿入に使用できるブローカーメトリクスは Insert metric ドロップダウンリストにあります。

    簡単な例として、DLQ キューのメッセージ数を経時的にクエリーするとします。この場合、メトリクスのドロップダウンリストからartemis_message_countを選択します。DLQ キュー名とアドレスを指定してクエリーを完了します。このクエリーの例を以下に示します。

    artemis_message_count{address=“DLQ”, queue=“DLQ”}

    さらに高度な視覚化を行うには、正規表現を使用して、複数のメトリクスをオーバーレイする複雑なクエリーを作成できます。または、多数のメトリクスで数学的な操作(集計など)を実行することもできます。Prometheus クエリーの作成に関する詳細は、Prometheus ドキュメント の「Prometheus のクエリー」を参照してください。