This documentation is for a release that is no longer maintained
See documentation for the latest supported version 3 or the latest supported version 4.16.4. 配置 Cluster Observability Operator 以监控服务
Cluster Observability Operator 只是一个技术预览功能。技术预览功能不受红帽产品服务等级协议(SLA)支持,且功能可能并不完整。红帽不推荐在生产环境中使用它们。这些技术预览功能可以使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。
有关红帽技术预览功能支持范围的更多信息,请参阅技术预览功能支持范围。
您可以通过配置由 Cluster Observability Operator (COO) 管理的监控堆栈来监控服务的指标。
要测试监控服务,请按照以下步骤执行:
- 部署定义服务端点的示例服务。
-
创建一个
ServiceMonitor
对象,用于指定服务如何被 COO 监控。 -
创建
MonitoringStack
对象来发现ServiceMonitor
对象。
16.4.1. 为 Cluster Observability Operator 部署示例服务 复制链接链接已复制到粘贴板!
此配置会在用户定义的 ns1-coo
项目中部署一个名为 prometheus-coo-example-app
的示例服务。该服务会公开自定义 version
指标。
先决条件
-
您可以使用具有
cluster-admin
集群角色或具有命名空间管理权限的用户身份访问集群。
流程
创建名为
prometheus-coo-example-app.yaml
的 YAML 文件,其中包含命名空间、部署和服务的以下配置详情:Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 保存该文件。
运行以下命令,将配置应用到集群:
oc apply -f prometheus-coo-example-app.yaml
$ oc apply -f prometheus-coo-example-app.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令验证 pod 是否正在运行,并观察输出:
oc -n -ns1-coo get pod
$ oc -n -ns1-coo get pod
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
NAME READY STATUS RESTARTS AGE prometheus-coo-example-app-0927545cb7-anskj 1/1 Running 0 81m
NAME READY STATUS RESTARTS AGE prometheus-coo-example-app-0927545cb7-anskj 1/1 Running 0 81m
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
16.4.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-app-service-monitor.yaml
$ oc apply -f example-app-service-monitor.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令并验证
ServiceMonitor
资源是否已创建并观察输出:oc -n ns1-coo get servicemonitor
$ oc -n ns1-coo get servicemonitor
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
NAME AGE prometheus-coo-example-monitor 81m
NAME AGE prometheus-coo-example-monitor 81m
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
要提取目标 prometheus-coo-example-app
服务公开的指标数据,请创建一个 MonitoringStack
对象,该对象引用您在"指定如何监控 Cluster Observability Operator"部分中创建的 ServiceMonitor
对象。然后,此 MonitoringStack
对象可以发现服务并从中提取公开的指标数据。
先决条件
-
您可以使用具有
cluster-admin
集群角色或具有命名空间管理权限的用户身份访问集群。 - 已安装 Cluster Observability Operator。
-
您已在
ns1-coo
命名空间中部署了prometheus-coo-example-app
示例服务。 -
您已在
ns1-coo
命名空间中创建一个名为prometheus-coo-example-monitor
的ServiceMonitor
对象。
流程
-
为
MonitoringStack
对象配置创建一个 YAML 文件。在本例中,将文件命名为example-coo-monitoring-stack.yaml
。 添加以下
MonitoringStack
对象配置详情:MonitoringStack
对象示例Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令来应用
MonitoringStack
对象:oc apply -f example-coo-monitoring-stack.yaml
$ oc apply -f example-coo-monitoring-stack.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令并检查输出,验证
MonitoringStack
对象是否可用:oc -n ns1-coo get monitoringstack
$ oc -n ns1-coo get monitoringstack
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
NAME AGE example-coo-monitoring-stack 81m
NAME AGE example-coo-monitoring-stack 81m
Copy to Clipboard Copied! Toggle word wrap Toggle overflow