9.11. cert-manager Operator for Red Hat OpenShift のモニタリング
デフォルトでは、cert-manager Operator for Red Hat OpenShift は、3 つのコアコンポーネントである controller、cainjector、および webhook のメトリクスを公開します。Prometheus Operator 形式を使用してこれらのメトリクスを収集するように OpenShift Monitoring を設定できます。
9.11.1. ユーザーワークロードモニタリングの有効化 リンクのコピーリンクがクリップボードにコピーされました!
クラスターでユーザーワークロードモニタリングを設定することで、ユーザー定義プロジェクトのモニタリングを有効にできます。詳細は、「ユーザー定義プロジェクトのメトリクス収集の設定」を参照してください。
前提条件
-
cluster-adminロールを持つユーザーとしてクラスターにアクセスできる。
手順
cluster-monitoring-config.yamlYAML ファイルを作成します。apiVersion: v1 kind: ConfigMap metadata: name: cluster-monitoring-config namespace: openshift-monitoring data: config.yaml: | enableUserWorkload: true次のコマンドを実行して
ConfigMapを適用します。$ oc apply -f cluster-monitoring-config.yaml
検証
次のコマンドを実行して、ユーザーワークロードのモニタリングコンポーネントが
openshift-user-workload-monitoringnamespace で実行されていることを確認します。$ oc -n openshift-user-workload-monitoring get pod出力例
NAME READY STATUS RESTARTS AGE prometheus-operator-6cb6bd9588-dtzxq 2/2 Running 0 50s prometheus-user-workload-0 6/6 Running 0 48s prometheus-user-workload-1 6/6 Running 0 48s thanos-ruler-user-workload-0 4/4 Running 0 42s thanos-ruler-user-workload-1 4/4 Running 0 42sprometheus-operator、prometheus-user-workload、thanos-ruler-user-workloadなどの Pod のステータスがRunningである必要があります。
9.11.2. ServiceMonitor を使用した cert-manager Operator for Red Hat OpenShift オペランドのメトリクス収集の設定 リンクのコピーリンクがクリップボードにコピーされました!
cert-manager Operator for Red Hat OpenShift のオペランドは、デフォルトで /metrics サービスエンドポイントのポート 9402 でメトリクスを公開します。Prometheus Operator によるカスタムメトリクスの収集を可能にする ServiceMonitor カスタムリソース (CR) を作成することで、cert-manager オペランドのメトリクス収集を設定できます。詳細は、「ユーザーワークロードモニタリングの設定」を参照してください。
前提条件
-
cluster-adminロールを持つユーザーとしてクラスターにアクセスできる。 - cert-manager Operator for Red Hat OpenShift がインストールされている。
- ユーザーワークロードモニタリングが有効になっている。
手順
ServiceMonitorCR を作成します。ServiceMonitorCR を定義する YAML ファイルを作成します。servicemonitor-cert-manager.yamlファイルの例apiVersion: monitoring.coreos.com/v1 kind: ServiceMonitor metadata: labels: app: cert-manager app.kubernetes.io/instance: cert-manager app.kubernetes.io/name: cert-manager name: cert-manager namespace: cert-manager spec: endpoints: - honorLabels: false interval: 60s path: /metrics scrapeTimeout: 30s targetPort: 9402 selector: matchExpressions: - key: app.kubernetes.io/name operator: In values: - cainjector - cert-manager - webhook - key: app.kubernetes.io/instance operator: In values: - cert-manager - key: app.kubernetes.io/component operator: In values: - cainjector - controller - webhook次のコマンドを実行して
ServiceMonitorCR を作成します。$ oc apply -f servicemonitor-cert-manager.yamlServiceMonitorCR が作成されると、ユーザーワークロードの Prometheus インスタンスが、cert-manager Operator for Red Hat OpenShift オペランドからのメトリクス収集を開始します。収集されたメトリクスには、job="cert-manager"、job="cert-manager-cainjector"、job="cert-manager-webhook"というラベルが付けられます。
検証
-
OpenShift Container Platform Web コンソールで、Observe
Targets に移動します。 Label フィルターフィールドに次のラベルを入力して、各オペランドのメトリクスターゲットをフィルタリングします。
$ service=cert-manager$ service=cert-manager-webhook$ service=cert-manager-cainjector-
cert-manager、cert-manager-webhook、cert-manager-cainjectorエントリーの Status 列にUpと表示されていることを確認します。
9.11.3. cert-manager Operator for Red Hat OpenShift オペランドのメトリクスの照会 リンクのコピーリンクがクリップボードにコピーされました!
クラスター管理者、またはすべての namespace に対する表示アクセス権を持つユーザーは、OpenShift Container Platform Web コンソールまたはコマンドラインインターフェイス (CLI) を使用して、cert-manager Operator for Red Hat OpenShift のオペランドのメトリクスを照会できます。詳細は、「メトリクスへのアクセス」を参照してください。
前提条件
-
cluster-adminロールを持つユーザーとしてクラスターにアクセスできる。 - cert-manager Operator for Red Hat OpenShift がインストールされている。
-
ServiceMonitorオブジェクトを作成することで、モニタリングとメトリクスの収集を有効にした。
手順
-
OpenShift Container Platform Web コンソールで、Observe
Metrics に移動します。 クエリーフィールドに次の PromQL 式を入力して、各オペランドの cert-manager Operator for Red Hat OpenShift オペランドメトリクスを照会します。
{job="cert-manager"}{job="cert-manager-webhook"}{job="cert-manager-cainjector"}