25.4. Eclipse MicroProfile Metrics
Eclipse MicroProfile Metrics は、テクノロジープレビューとしてのみ提供されます。テクノロジープレビューの機能は、Red Hat の本番環境のサービスレベルアグリーメント (SLA) ではサポートされず、機能的に完全ではないことがあるため、Red Hat は本番環境での使用は推奨しません。テクノロジープレビューの機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行いフィードバックを提供していただくことを目的としています。
テクノロジープレビュー機能のサポート範囲については、Red Hat カスタマーポータルの テクノロジープレビュー機能のサポート範囲 を参照してください。
25.4.1. MicroProfile Metrics サブシステムについて リンクのコピーリンクがクリップボードにコピーされました!
JBoss EAP では、microprofile-metrics-smallrye サブシステムを使用して Eclipse MicroProfile Metrics 機能を提供する SmallRye Metrics コンポーネントが含まれるようになりました。このサブシステムは、JBoss EAP インスタンスのモニタリングデータを提供するために使用されます。これはデフォルトで有効です。
microprofile-metrics-smallrye サブシステムは、スタンドアロン設定でのみ有効になります。
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 メトリックを確認するには、以下の手順に従います。
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 つの手順を繰り返して、要求数が正しく更新されていることを確認します。
25.4.3. 管理コンソールを使用した MicroProfile メトリクスの設定 リンクのコピーリンクがクリップボードにコピーされました!
管理コンソールでは、以下の設定を実行できます。
- メトリクスの公開を有効または無効にします。
- 公開されるメトリクスの接頭辞を編集します。
- セキュリティーを有効または無効にします。
- 必須でないフィールドを初期値またはデフォルト値にリセットします。
管理コンソールを使用して MicroProfile メトリクスを設定するには、以下の手順に従います。
-
管理コンソールにアクセスし、Configuration
Subsystems MicroProfile Metrics の順に移動して View をクリックし、MicroProfile Metrics ページを開きます。
25.4.4. HTTP エンドポイントの認証の有効化 リンクのコピーリンクがクリップボードにコピーされました!
metroics コンテキストおよびすべてのサブコンテキストは、コンテキストのアクセスにユーザー許可を必須にするように設定できます。以下の手順は、このエンドポイントで認証を有効にします。
microprofile-metrics-smallryeサブシステムでsecurity-enabled属性をtrueに設定します。/subsystem=microprofile-metrics-smallrye:write-attribute(name=security-enabled,value=true)変更を反映するためにサーバーをリロードします。
reload
サブシステムが metrics エンドポイントにアクセスを試みると、認証プロンプトが表示されるようになりました。