11.2. Red Hat OpenShift Container Platform の KIE Server の Prometheus メトリクスモニターリングの設定

Prometheus を使用して Red Hat Decision Manger でのビジネスアセットアクティビティーに関連するメトリクスを収集して保存するように、Red Hat OpenShift Container Platform で KIE Server デプロイメントを設定できます。KIE Server が Prometheus を使用して公開するメトリクスで、利用可能なものの一覧については、Red Hat カスタマーポータル から Red Hat Decision Manager 7.9.1 Source Distribution をダウンロードし、~/rhdm-7.9.1-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 が、Red Hat OpenShift Container Platform にインストールおよびデプロイメントされている。OpenShift 上の KIE Server の詳細については、Red Hat Decision Manager 7.9 の製品ドキュメント で関連する OpenShift デプロイメントオプションを参照してください。
  • kie-server ユーザーロールで KIE Server にアクセスできる。
  • Prometheus Operator がインストールされている。Prometheus Operator のダウンロードと使用についての詳細は、GitHub の Prometheus Operator プロジェクトを参照してください。

手順

  1. OpenShift 上の KIE Server デプロイメントの DeploymentConfig オブジェクトで、PROMETHEUS_SERVER_EXT_DISABLED 環境変数を false に設定して、Prometheus 拡張機能を有効にします。この変数は、OpenShift Web コンソールを使用するか、コマンド端末で oc コマンドを使用してこの変数を設定してください。

    oc set env dc/<dc_name> PROMETHEUS_SERVER_EXT_DISABLED=false -n <namespace>

    OpenShift に KIE Server をまだデプロイしていない場合は、OpenShift デプロイメントに使用予定の OpenShift テンプレート (例: rhdm79-prod-immutable-kieserver.yaml) で、PROMETHEUS_SERVER_EXT_DISABLED テンプレートパラメーターを false に設定して、Prometheus 拡張機能を有効にします。

    OpenShift Operator を使用して KIE Server を OpenShift にデプロイする場合は、KIE Server の設定で、PROMETHEUS_SERVER_EXT_DISABLED 環境変数を false に設定して、Prometheus 拡張機能を有効にします。

    apiVersion: app.kiegroup.org/v1
    kind: KieApp
    metadata:
      name: enable-prometheus
    spec:
      environment: rhpam-trial
      objects:
        servers:
        - env:
          - name: PROMETHEUS_SERVER_EXT_DISABLED
            value: "false"
  2. service-metrics.yaml ファイルを作成して、KIE Server から Prometheus にメトリクスを公開するサービスを追加します。

    apiVersion: v1
    kind: Service
    metadata:
      annotations:
        description: RHDM Prometheus metrics exposed
      labels:
        app: myapp-kieserver
        application: myapp-kieserver
        template: myapp-kieserver
        metrics: rhdm
      name: rhdm-app-metrics
    spec:
      ports:
        - name: web
          port: 8080
          protocol: TCP
          targetPort: 8080
      selector:
        deploymentConfig: myapp-kieserver
      sessionAffinity: None
      type: ClusterIP
  3. コマンドターミナルで、oc コマンドを使用して、service-metrics.yaml ファイルを OpenShift デプロイメントに適用します。

    oc apply -f service-metrics.yaml
  4. metrics-secret など、OpenShift シークレットを作成して、KIE Server の Prometheus メトリクスにアクセスします。シークレットには username 要素および password 要素と、KIE Server ユーザー資格情報が含まれている必要があります。OpenShift シークレットの詳細は、OpenShift 開発者ガイドシークレット の章を参照してください。
  5. ServiceMonitor オブジェクトを定義する service-monitor.yaml ファイルを作成します。サービスモニターにより Prometheus を KIE Server メトリクスサービスに接続できます。

    apiVersion: monitoring.coreos.com/v1
    kind: ServiceMonitor
    metadata:
      name: rhdm-service-monitor
      labels:
        team: frontend
    spec:
      selector:
        matchLabels:
          metrics: rhdm
      endpoints:
        - port: web
          path: /services/rest/metrics
          basicAuth:
            password:
              name: metrics-secret
              key: password
            username:
              name: metrics-secret
              key: username
  6. コマンド端末で、oc コマンドを使用して、service-monitor.yaml ファイルを OpenShift デプロイメントに適用します。

    oc apply -f service-monitor.yaml

    上記の設定を完了すると、Prometheus はメトリクスの収集を開始し、KIE Server は REST API エンドポイント http://HOST:PORT/kie-server/services/rest/metrics にメトリクスを公開します。

    http://HOST:PORT/graph の Prometheus expression browser で収集したメトリクスと対話したり、Prometheus データソースを Grafana などのデータグラフ作成ツールと統合したりすることができます。

    Prometheus expression browser の場所のホストとポートである http://HOST:PORT/graph は、Prometheus Operator をインストールしたときに Prometheus Web コンソールを公開したルートで定義されています。OpenShift ルートの詳細は、OpenShift アーキテクチャードキュメントの ルート の章を参照してください。

    図11.5 Prometheus expression browser と KIE Server メトリクス

    prometheus expression browser data

    図11.6 Prometheus expression browser と KIE Server ターゲット

    prometheus expression browser targets ocp

    図11.7 Grafana ダッシュボードと DMN モデルの KIE Server メトリクス

    prometheus grafana data dmn

    図11.8 Grafana ダッシュボードとソルバーの KIE Server メトリクス

    prometheus grafana data optimizer