25.4.2. HTTP エンドポイントを使用したメトリクスの検証

メトリクスは JBoss EAP 管理インターフェースで自動的に利用できるようになり、以下のコンテキストを使用できます。

  • /metrics/: MicroProfile 3.0 仕様に指定されたメトリクスが含まれます。
  • /metrics/vendor: メモリープールなどのベンダー固有のメトリクスが含まれます。
  • /metrics/application: MicroProfile Metrics API を使用するデプロイしたアプリケーションおよびサブシステムのメトリクスが含まれます。

JBoss EAP サブシステムメトリクスは Prometheus 形式で公開されます。

メトリクス名はサブシステムと属性名に基づきます。たとえば、サブシステム undertow は、アプリケーションデプロイメントのすべてのサーブレットのメトリクス属性 request-count を公開します。このメトリクスの名前は jboss_undertow_request_count です。接頭辞 jboss はメトリクスソースを特定するのに役立ちます。

EAP で公開されるメトリクスの一覧を表示するには、CLI で以下のコマンドを実行します。

$ curl -v http://localhost:9990/metrics | grep -i type

例: JAX-RS アプリケーションの要求数の取得

以下の例は、JBoss EAP にデプロイされた web サービスへのリクエスト数を検索する方法を示しています。この例では、helloworld-rs クイックスタートを web サービスとして使用します。クイックスタートを jboss-eap-quickstarts からダウンロードします。

helloworld-rs クイックスタートの request-count メトリックを確認するには、以下の手順に従います。

  1. undertow サブシステムの統計を有効にします。

    • 統計が有効な状態でスタンドアロンサーバーを起動します。

      $ ./standalone.sh -Dwildfly.statistics-enabled=true
    • 既にサーバーが稼働している場合は、undertow サブシステムの統計を有効にします。

      /subsystem=undertow/:write-attribute(name=statistics-enabled,value=true)
  2. helloworld-rs クイックスタートをデプロイします。

    • クイックスタートのルートディレクトリーに、Maven を使用して web アプリケーションをデプロイします。

      $ mvn clean install wildfly:deploy
  3. curl コマンドを使用して CLI で http エンドポイントをクエリーし、request_count に対してフィルター処理を行います。

    $ curl -v http://localhost:9990/metrics |  grep request_count

    出力:

    jboss_undertow_request_count_total{server="default-server",http_listener="default",} 0.0

    返された属性値は 0.0 です。

  4. Web ブラウザーで http://localhost:8080/helloworld-rs/ にあるクイックスタートにアクセスし、任意のリンクをクリックします。
  5. CLI から http エンドポイントを再度クエリーします。

    $ curl -v http://localhost:9990/metrics |  grep request_count

    出力:

    jboss_undertow_request_count_total{server="default-server",http_listener="default",} 1.0

    値は 1.0 に更新されました。

    前回の 2 つの手順を繰り返して、要求数が正しく更新されていることを確認します。