8.6. 为 Red Hat OpenShift 为 cert-manager Operator 启用监控

您可以使用 Prometheus Operator 提供的格式为 Red Hat OpenShift 公开 cert-manager Operator 的控制器指标。

8.6.1. 使用 Red Hat OpenShift 的 cert-manager Operator 的服务监控器启用监控

您可以使用服务监控器执行自定义指标提取,为 Red Hat OpenShift 为 cert-manager Operator 启用监控和指标集合。

先决条件

  • 您可以使用 cluster-admin 权限访问集群。
  • 安装了 Red Hat OpenShift 的 cert-manager Operator。

流程

  1. 运行以下命令添加标签以启用集群监控:

    $ oc label namespace cert-manager openshift.io/cluster-monitoring=true
  2. 创建服务监控器:

    1. 创建定义 RoleRoleBindingServiceMonitor 对象的 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. 运行以下命令来创建 RoleRoleBindingServiceMonitor 对象:

      $ oc create -f monitoring.yaml

8.6.2. 为 Red Hat OpenShift 查询 cert-manager Operator 的指标

为 Red Hat OpenShift 启用 cert-manager Operator 监控后,您可以使用 OpenShift Container Platform Web 控制台查询其指标。

先决条件

  • 您可以使用具有 cluster-admin 角色的用户访问集群。
  • 您已为 Red Hat OpenShift 安装了 cert-manager Operator。
  • 您已为 Red Hat OpenShift 为 cert-manager Operator 启用监控和指标集合。

流程

  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"}