2.2. 指定 Cluster Observability Operator 如何监控服务
要使用您在 "Deploying a sample service for Cluster Observability Operator" 部分创建的样本服务公开的指标,您必须将监控组件配置为从 /metrics 端点中提取指标。
您可以使用一个 ServiceMonitor 对象来创建此配置,指定如何监控该服务,或指定如何监控 pod 的 PodMonitor 对象。ServiceMonitor 对象需要一个 Service 对象。PodMonitor 对象不需要,它允许 MonitoringStack 对象直接从 Pod 公开的指标端点中提取指标。
此流程演示了如何在 ns1-coo 命名空间中为名为 prometheus-coo-example-app 的示例服务创建 ServiceMonitor 对象。
先决条件
-
您可以使用具有
cluster-admin集群角色或具有命名空间管理权限的用户身份访问集群。 - 已安装 Cluster Observability Operator。
您已在
ns1-coo命名空间中部署了prometheus-coo-example-app示例服务。注意prometheus-coo-example-app示例服务不支持 TLS 身份验证。
流程
创建名为
example-coo-app-service-monitor.yaml的 YAML 文件,其中包含以下ServiceMonitor对象配置详情:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 此配置定义
MonitoringStack对象将引用的ServiceMonitor对象,以提取由prometheus-coo-example-app示例服务公开的指标数据。运行以下命令,将配置应用到集群:
oc apply -f example-coo-app-service-monitor.yaml
$ oc apply -f example-coo-app-service-monitor.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令并验证
ServiceMonitor资源是否已创建并观察输出:oc -n ns1-coo get servicemonitors.monitoring.rhobs
$ oc -n ns1-coo get servicemonitors.monitoring.rhobsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
NAME AGE prometheus-coo-example-monitor 81m
NAME AGE prometheus-coo-example-monitor 81mCopy to Clipboard Copied! Toggle word wrap Toggle overflow