第11章 Prometheus を使用した Data Grid の監視

Data Grid は、統計とイベントを Prometheus に提供するメトリックエンドポイントを公開します。

11.1. Prometheus サービスモニターの作成

Data Grid クラスターを監視するように Prometheus を設定するサービスモニターインスタンスを定義します。

前提条件

  • OpenShift クラスターに Prometheus スタックをセットアップします。

手順

  1. Prometheus が Data Grid クラスターで認証できるように、Data Grid 認証情報を含む認証シークレットを作成します。

    apiVersion: v1
    stringData:
      username: developer 1
      password: dIRs5cAAsHIeeRIL 2
    kind: Secret
    metadata:
      name: basic-auth
    type: Opaque
    1
    アプリケーションユーザーを指定します。developer がデフォルトです。
    2
    対応するパスワードを指定します。
  2. 認証シークレットを Prometheus namespace に追加します。

    $ oc apply -f basic-auth.yaml
  3. Data Grid クラスターを監視するように Prometheus を設定するサービスモニターを作成します。

    apiVersion: monitoring.coreos.com/v1
    kind: ServiceMonitor
    metadata:
      labels:
        k8s-app: prometheus
      name: datagrid-monitoring 1
      namespace: infinispan-monitoring 2
    spec:
      endpoints:
        - targetPort: 11222 3
          path: /metrics 4
          honorLabels: true
          basicAuth:
            username:
              key: username
              name: basic-auth 5
            password:
              key: password
              name: basic-auth
          interval: 30s
          scrapeTimeout: 10s
          scheme: https 6
          tlsConfig:
            insecureSkipVerify: true
            serverName: example-infinispan 7
      namespaceSelector:
        matchNames:
          - infinispan 8
      selector:
        matchLabels:
          app: infinispan-service
          clusterName: example-infinispan 9
    1
    サービスモニターインスタンスに名前を付けます。
    2
    Prometheus スタックの namespace を指定します。
    3
    Data Grid メトリクスエンドポイントのポートを 11222 に設定します。
    4
    Data Grid がメトリクスを公開するパスを設定します。
    5
    Data Grid 認証情報を持つ認証シークレットを指定します。
    6
    Data Grid クラスターがエンドポイント暗号化を使用することを指定します。
    7
    Data Grid 暗号化の TLS 証明書の共通名 (CN) を指定します。OpenShift サービス証明書を使用する場合、CN は Data Grid クラスターの metadata.name リソースと一致します。
    8
    Data Grid クラスターの namespace を指定します。
    9
    Data Grid クラスターの名前を指定します。
  4. サービスモニターインスタンスを Prometheus namespace に追加します。

    $ oc apply -f service-monitor.yaml