8.6. Red Hat OpenShift における cert-manager Operator のモニタリング有効化

Prometheus Operator が指定する形式で、cert-manager Operator for Red Hat OpenShift のコントローラーメトリクスを公開できます。

8.6.1. cert-manager Operator for Red Hat OpenShift のサービスモニターを使用したモニタリングの有効化

サービスモニターを使用してカスタムメトリクスのスクレイピングを実行することで、cert-manager Operator for Red Hat OpenShift のモニタリングとメトリクス収集を有効にできます。

前提条件

  • cluster-admin 権限でクラスターにアクセスできる。
  • cert-manager Operator for Red Hat OpenShift がインストールされます。

手順

  1. 次のコマンドを実行してラベルを追加し、クラスターのモニタリングを有効にします。

    $ oc label namespace cert-manager openshift.io/cluster-monitoring=true
  2. サービスモニターを作成します。

    1. RoleRoleBinding、および ServiceMonitor オブジェクトを定義する YAML ファイルを作成します。

      monitoring.yaml ファイルの例

      apiVersion: rbac.authorization.k8s.io/v1
      kind: Role
      metadata:
        name: prometheus-k8s
        namespace: cert-manager
      rules:
      - apiGroups:
        - ""
        resources:
        - services
        - endpoints
        - pods
        verbs:
        - get
        - list
        - watch
      ---
      apiVersion: rbac.authorization.k8s.io/v1
      kind: RoleBinding
      metadata:
        name: prometheus-k8s
        namespace: cert-manager
      roleRef:
        apiGroup: rbac.authorization.k8s.io
        kind: Role
        name: prometheus-k8s
      subjects:
      - kind: ServiceAccount
        name: prometheus-k8s
        namespace: openshift-monitoring
      ---
      apiVersion: monitoring.coreos.com/v1
      kind: ServiceMonitor
      metadata:
        labels:
          app: cert-manager
          app.kubernetes.io/component: controller
          app.kubernetes.io/instance: cert-manager
          app.kubernetes.io/name: cert-manager
        name: cert-manager
        namespace: cert-manager
      spec:
        endpoints:
        - interval: 30s
          port: tcp-prometheus-servicemonitor
          scheme: http
        selector:
          matchLabels:
            app.kubernetes.io/component: controller
            app.kubernetes.io/instance: cert-manager
            app.kubernetes.io/name: cert-manager

    2. 次のコマンドを実行して、RoleRoleBinding、および ServiceMonitor オブジェクトを作成します。

      $ oc create -f monitoring.yaml

8.6.2. cert-manager Operator for Red Hat OpenShift のメトリクスクエリー

cert-manager Operator for Red Hat OpenShift のモニタリングを有効にすると、OpenShift Container Platform Web コンソールを使用してそのメトリクスをクエリーできます。

前提条件

  • cluster-admin ロールを持つユーザーとしてクラスターにアクセスできる。
  • cert-manager Operator for Red Hat OpenShift がインストールされている。
  • cert-manager Operator for Red Hat OpenShift のモニタリングおよびメトリクス収集が有効になっている。

手順

  1. OpenShift Container Platform Web コンソールから、ObserveMetrics に移動します。
  2. 以下の形式のいずれかを使用してクエリーを追加します。

    • エンドポイントを指定します。

      {instance="<endpoint>"} 1
      1
      <endpoint> を、cert-manager サービスのエンドポイントの値に置き換えます。以下の oc describe service cert-manager -n cert-manager コマンドを実行して、エンドポイント値を検索できます。
    • tcp-prometheus-servicemonitor ポートを指定します。

      {endpoint="tcp-prometheus-servicemonitor"}