10.10.2. ServiceMonitor を使用して SPIRE Server のメトリクス収集を設定する
SPIRE サーバーからカスタムメトリクスを収集するには、ServiceMonitor カスタムリソース (CR) を作成します。この設定により、Prometheus Operator はデフォルトのエンドポイントからメトリクスを収集できるようになり、SPIRE デプロイメントの監視に役立ちます。
SPIRE Server のオペランドは、デフォルトで /metrics エンドポイントのポート 9402 でメトリクスを公開します。Prometheus Operator によるカスタムメトリクスの収集を可能にする ServiceMonitor カスタムリソース (CR) を作成することで、SPIRE Server のメトリクス収集を設定できます。
前提条件
-
cluster-adminクラスターロールを持つユーザーとしてクラスターにアクセスできる。 - Zero Trust Workload Identity Manager がインストールされている。
- クラスターに SPIRE Server のオペランドがデプロイされている。
- ユーザーワークロードモニタリングが有効になっている。
手順
ServiceMonitorCR を作成します。ServiceMonitorCR を定義する YAML ファイルを作成します。servicemonitor-spire-serverファイルの例apiVersion: monitoring.coreos.com/v1 kind: ServiceMonitor metadata: labels: app.kubernetes.io/name: server app.kubernetes.io/instance: spire name: spire-server-metrics namespace: zero-trust-workload-identity-manager spec: endpoints: - port: metrics interval: 30s path: /metrics selector: matchLabels: app.kubernetes.io/name: server app.kubernetes.io/instance: spire namespaceSelector: matchNames: - zero-trust-workload-identity-manager次のコマンドを実行して
ServiceMonitorCR を作成します。$ oc create -f servicemonitor-spire-server.yamlServiceMonitorCR が作成されると、ユーザーワークロードの Prometheus インスタンスが、SPIRE Server からのメトリクス収集を開始します。収集されたメトリクスには、job="spire-server"というラベルが付けられます。
検証
-
OpenShift Container Platform Web コンソールで、Observe
Targets に移動します。 Label フィルターフィールドに次のラベルを入力して、メトリクスターゲットをフィルタリングします。
$ service=zero-trust-workload-identity-manager-metrics-service-
spire-server-metricsエントリーの Status 列にUpと表示されていることを確認します。