第13章 Red Hat Decision Manager の Prometheus メトリクスのモニターリング
Prometheus は、オープンソースのシステムモニターリングツールキットで、Red Hat Decision Manager と連携して、ビジネスルール、プロセス、Decision Model and Notation (DMN) モデル、その他の Red Hat Decision Manager アセットの実行に関するメトリクスを収集して保存できます。KIE Server への REST API 呼び出しや、Prometheus expression browser、Grafana などのデータグラフツールを使用して、保存したメトリクスにアクセスできます。
オンプレミスの KIE Server、Spring Boot の KIE Server、Red Hat OpenShift Container Platform の KIE Server デプロイメントに、Prometheus メトリクス監視を設定できます。
KIE Server が Prometheus を使用して公開するメトリクスで、利用可能なものの一覧については、Red Hat カスタマーポータル から Red Hat Decision Manager 7.7.0 Source Distribution をダウンロードし、~/rhdm-7.7.0-sources/src/droolsjbpm-integration-$VERSION/kie-server-parent/kie-server-services/kie-server-services-prometheus/src/main/java/org/kie/server/services/prometheus に移動してください。
Prometheus に対する Red Hat の サポートは、Red Hat 製品ドキュメントに記載の設定および設定の推奨事項に限定されます。
13.1. KIE Server のモニターリングを行う Prometheus メトリクスの設定 リンクのコピーリンクがクリップボードにコピーされました!
KIE Server インスタンスが Prometheus を使用し、Red Hat Decision Manager でのビジネスアセットアクティビティーに関連するメトリクスを収集して保存するように設定できます。KIE Server が Prometheus を使用して公開するメトリクスで、利用可能なものの一覧については、Red Hat カスタマーポータル から Red Hat Decision Manager 7.7.0 Source Distribution をダウンロードし、~/rhdm-7.7.0-sources/src/droolsjbpm-integration-$VERSION/kie-server-parent/kie-server-services/kie-server-services-prometheus/src/main/java/org/kie/server/services/prometheus に移動してください。
前提条件
- KIE Server がインストールされている。
-
kie-serverユーザーロールで KIE Server にアクセスできる。 - Prometheus がインストールされている。Prometheus のダウンロードおよび使用に関する情報は、Prometheus ドキュメントページ を参照してください。
手順
-
KIE Server インスタンスで、
org.kie.prometheus.server.ext.disabledシステムプロパティーをfalseに設定して、Prometheus 拡張機能を有効にします。このプロパティーは、KIE Server の起動時、または Red Hat Decision Manager ディストリビューションのstandalone.xmlまたはstandalone-full.xmlファイルで定義できます。 Spring Boot で Red Hat Decision Manager を実行する場合は、
application.propertiesシステムプロパティーで必要なキーを設定します。Red Hat Decision Manager および Prometheus の Spring Boot application.properties キー
kieserver.drools.enabled=true kieserver.dmn.enabled=true kieserver.prometheus.enabled=true
kieserver.drools.enabled=true kieserver.dmn.enabled=true kieserver.prometheus.enabled=trueCopy to Clipboard Copied! Toggle word wrap Toggle overflow Prometheus ディストリビューションの
prometheus.yamlファイルで、scrape_configsセクションに以下の設定を追加して、Prometheus が KIE Server からメトリクスを収集 (scrape) するように設定します。prometheus.yaml ファイルの Scrape 設定
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Spring Boot の prometheus.yaml ファイルでの Scrape 設定 (該当する場合)
scrape_configs: - job_name: 'kie' metrics_path: /rest/metrics static_configs: - targets: ["HOST:PORT"]scrape_configs: - job_name: 'kie' metrics_path: /rest/metrics static_configs: - targets: ["HOST:PORT"]Copy to Clipboard Copied! Toggle word wrap Toggle overflow KIE Server の場所と設定に合わせて、値を置き換えます。
KIE Server インスタンスを起動します。
Red Hat JBoss EAP での Red Hat Decision Manager の起動コマンド例
cd ~/EAP_HOME/bin ./standalone.sh --c standalone-full.xml
$ cd ~/EAP_HOME/bin $ ./standalone.sh --c standalone-full.xmlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 設定済みの KIE Server インスタンスを起動すると、Prometheus はメトリクスの収集を開始し、KIE Server はメトリクスを REST API エンドポイント
http://HOST:PORT/SERVER/services/rest/metrics(または Spring Boot ではhttp://HOST:PORT/rest/metrics) に公開します。REST クライアントまたは curl ユーティリティーで、以下のコンポーネントを含む REST API 要求を送信し、KIE Server がメトリクスを公開していることを確認します。
REST クライアントの場合:
-
Authentication:
kie-serverロールを持つ KIE Server ユーザーのユーザー名とパスワードを入力します。 HTTP Headers: 以下のヘッダーを設定します。
-
Accept:application/json
-
-
HTTP method:
GETに設定します。 -
URL: KIE Server REST API ベース URL とメトリクスエンドポイントを入力します。たとえば、
http://localhost:8080/kie-server/services/rest/metrics(または Spring Boot ではhttp://localhost:8080/rest/metrics) となります。
curl ユーティリティーの場合:
-
-u:kie-serverロールを持つ KIE Server ユーザーのユーザー名とパスワードを入力します。 -H: 以下のヘッダーを設定します。-
accept:application/json
-
-
-X:GETに設定します。 -
URL: KIE Server REST API ベース URL とメトリクスエンドポイントを入力します。たとえば、
http://localhost:8080/kie-server/services/rest/metrics(または Spring Boot ではhttp://localhost:8080/rest/metrics) となります。
Red Hat JBoss EAP での Red Hat Decision Manager の curl コマンド例
curl -u 'baAdmin:password@1' -X GET "http://localhost:8080/kie-server/services/rest/metrics"
curl -u 'baAdmin:password@1' -X GET "http://localhost:8080/kie-server/services/rest/metrics"Copy to Clipboard Copied! Toggle word wrap Toggle overflow Spring Boot での Red Hat Decision Manager の curl コマンド例
curl -u 'baAdmin:password@1' -X GET "http://localhost:8080/rest/metrics"
curl -u 'baAdmin:password@1' -X GET "http://localhost:8080/rest/metrics"Copy to Clipboard Copied! Toggle word wrap Toggle overflow サーバーの応答例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow KIE Server でメトリクスが利用できない場合は、このセクションで説明されている KIE Server および Prometheus の設定を確認します。
また、
http://HOST:PORT/graphの Prometheus の expression browser で収集したメトリクスと対話したり、Prometheus データソースを Grafana などのデータグラフ作成ツールと統合したりすることもできます。図13.1 Prometheus expression browser と KIE Server メトリクス
図13.2 Prometheus expression browser と KIE Server ターゲット
図13.3 Grafana ダッシュボードと DMN モデルの KIE Server メトリクス
図13.4 Grafana ダッシュボードとソルバーの KIE Server メトリクス
-
Authentication: