第11章 Prometheus を使用した Data Grid の監視
Data Grid は、統計とイベントを Prometheus に提供するメトリックエンドポイントを公開します。
11.1. Prometheus サービスモニターの作成
Data Grid クラスターを監視するように Prometheus を設定するサービスモニターインスタンスを定義します。
前提条件
- OpenShift クラスターに Prometheus スタックをセットアップします。
手順
Prometheus が Data Grid クラスターで認証できるように、Data Grid 認証情報を含む認証シークレットを作成します。
apiVersion: v1 stringData: username: developer 1 password: dIRs5cAAsHIeeRIL 2 kind: Secret metadata: name: basic-auth type: Opaque
認証シークレットを Prometheus namespace に追加します。
$ oc apply -f basic-auth.yaml
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 クラスターの名前を指定します。
サービスモニターインスタンスを Prometheus namespace に追加します。
$ oc apply -f service-monitor.yaml