$ oc label namespace cert-manager openshift.io/cluster-monitoring=true
您可以按照 Prometheus Operator 提供的格式公开适用于 Red Hat OpenShift 的 cert-manager 运算符的控制器指标。
您可以使用服务监控器执行自定义指标抓取,从而为适用于 Red Hat OpenShift 的 cert-manager 运算符启用监控和指标收集。
您可以访问具有 `cluster-admin` 权限的集群。
已安装适用于 Red Hat OpenShift 的 cert-manager 运算符。
运行以下命令添加标签以启用集群监控
$ oc label namespace cert-manager openshift.io/cluster-monitoring=true
创建服务监控器
创建一个 YAML 文件,该文件定义 `Role`、`RoleBinding` 和 `ServiceMonitor` 对象
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
为适用于 Red Hat OpenShift 的 cert-manager 运算符启用监控后,您可以使用 OpenShift Container Platform Web 控制台查询其指标。
您可以作为具有 `cluster-admin` 角色的用户访问集群。
您已安装适用于 Red Hat OpenShift 的 cert-manager 运算符。
您已为适用于 Red Hat OpenShift 的 cert-manager 运算符启用监控和指标收集。
在 OpenShift Container Platform Web 控制台中,导航到 **观察** → **指标**。
使用以下格式之一添加查询
指定端点
{instance="<endpoint>"} (1)
1 | 将 `<endpoint>` 替换为 `cert-manager` 服务的端点值。您可以通过运行以下命令查找端点值:`oc describe service cert-manager -n cert-manager`。 |
指定 `tcp-prometheus-servicemonitor` 端口
{endpoint="tcp-prometheus-servicemonitor"}