3.6. Eclipse MicroProfile Metrics 管理
3.6.1. 管理インターフェイスで利用可能なメトリック
JBoss EAP サブシステムメトリクスは Prometheus 形式で公開されます。
メトリクスは JBoss EAP 管理インターフェイスで自動的に利用できるようになり、以下のコンテキストを使用できます。
-
/metrics/
: MicroProfile 3.0 仕様に指定されたメトリクスが含まれます。 -
/metrics/vendor
: メモリープールなどのベンダー固有のメトリクスが含まれます。 -
/metrics/application
: MicroProfile Metrics API を使用するデプロイしたアプリケーションおよびサブシステムのメトリクスが含まれます。
メトリクス名はサブシステムと属性名に基づきます。たとえば、サブシステム undertow
は、アプリケーションデプロイメントのすべてのサーブレットのメトリクス属性 request-count
を公開します。このメトリクスの名前は jboss_undertow_request_count
です。接頭辞 jboss
は JBoss EAP をメトリクスのソースとして識別します。
3.6.2. HTTP エンドポイントを使用したメトリクスの検証
HTTP エンドポイントを使用して JBoss EAP 管理インターフェイスで利用可能なメトリクスを確認します。
手順
curl コマンドを使用します。
$ curl -v http://localhost:9990/metrics | grep -i type
3.6.3. Eclipse MicroProfile Metrics HTTP エンドポイントの認証の有効化
ユーザーによるコンテキストのアクセスの承認を要求するように metrics
コンテキストを設定します。この設定は、metrics
コンテキストのすべてのサブコンテキストに拡張されます。
手順
microprofile-metrics-smallrye
サブシステムでsecurity-enabled
属性をtrue
に設定します。/subsystem=microprofile-metrics-smallrye:write-attribute(name=security-enabled,value=true)
変更を反映するためにサーバーをリロードします。
reload
metrics
エンドポイントにアクセスしようとすると、認証プロンプトが表示されるようになります。
3.6.4. Web サービスの要求数の取得
要求カウントメトリクスを公開する Web サービスの要求数を取得します。
以下の手順では、リクエスト数を取得するために helloworld-rs
クイックスタートを Web サービスとして使用します。クイックスタートは jboss-eap-quickstarts からクイックスタートをダウンロードします。
前提条件
- Web サービスが要求数を公開している。
手順
undertow
サブシステムの統計を有効にします。統計が有効な状態でスタンドアロンサーバーを起動します。
$ ./standalone.sh -Dwildfly.statistics-enabled=true
既にサーバーが稼働している場合は、
undertow
サブシステムの統計を有効にします。/subsystem=undertow:write-attribute(name=statistics-enabled,value=true)
helloworld-rs
クイックスタートをデプロイします。クイックスタートのルートディレクトリーに、Maven を使用して web アプリケーションをデプロイします。
$ mvn clean install wildfly:deploy
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
です。- Web ブラウザーで http://localhost:8080/helloworld-rs/ にあるクイックスタートにアクセスし、任意のリンクをクリックします。
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 つの手順を繰り返して、要求数が更新されていることを確認します。