9.9. 监控 Red Hat OpenShift 的 cert-manager Operator
您可以使用 Prometheus Operator 提供的格式为 Red Hat OpenShift 公开 cert-manager Operator 的控制器指标。
9.9.1. 使用 Red Hat OpenShift 的 cert-manager Operator 的服务监控器启用监控
您可以使用服务监控器执行自定义指标提取,为 Red Hat OpenShift 为 cert-manager Operator 启用监控和指标集合。
先决条件
-
您可以使用
cluster-admin
权限访问集群。 - 安装了 Red Hat OpenShift 的 cert-manager Operator。
流程
运行以下命令添加标签以启用集群监控:
$ oc label namespace cert-manager openshift.io/cluster-monitoring=true
创建服务监控器:
创建定义
Role
、RoleBinding
和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
运行以下命令来创建
Role
、RoleBinding
和ServiceMonitor
对象:$ oc create -f monitoring.yaml
其他资源
9.9.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 启用监控和指标集合。
流程
-
在 OpenShift Container Platform web 控制台中进入到 Observe
Metrics。 使用以下格式之一添加查询:
指定端点:
{instance="<endpoint>"} 1
- 1
- 将
<endpoint>
替换为cert-manager
服务的端点值。您可以运行以下命令来找到端点值:oc describe service cert-manager -n cert-manager
。
指定
tcp-prometheus-servicemonitor
端口:{endpoint="tcp-prometheus-servicemonitor"}