第 4 章 配置 Cluster Observability Operator 以监控服务
重要
Cluster Observability Operator 只是一个技术预览功能。技术预览功能不受红帽产品服务等级协议(SLA)支持,且功能可能并不完整。红帽不推荐在生产环境中使用它们。这些技术预览功能可以使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。
有关红帽技术预览功能支持范围的更多信息,请参阅技术预览功能支持范围。
您可以通过配置由 Cluster Observability Operator (COO) 管理的监控堆栈来监控服务的指标。
要测试监控服务,请按照以下步骤执行:
- 部署定义服务端点的示例服务。
-
创建一个
ServiceMonitor
对象,用于指定服务如何被 COO 监控。 -
创建
MonitoringStack
对象来发现ServiceMonitor
对象。
4.1. 为 Cluster Observability Operator 部署示例服务
此配置会在用户定义的 ns1-coo
项目中部署一个名为 prometheus-coo-example-app
的示例服务。该服务会公开自定义 version
指标。
先决条件
-
您可以使用具有
cluster-admin
集群角色或具有命名空间管理权限的用户身份访问集群。
流程
创建名为
prometheus-coo-example-app.yaml
的 YAML 文件,其中包含命名空间、部署和服务的以下配置详情:apiVersion: v1 kind: Namespace metadata: name: ns1-coo --- apiVersion: apps/v1 kind: Deployment metadata: labels: app: prometheus-coo-example-app name: prometheus-coo-example-app namespace: ns1-coo spec: replicas: 1 selector: matchLabels: app: prometheus-coo-example-app template: metadata: labels: app: prometheus-coo-example-app spec: containers: - image: ghcr.io/rhobs/prometheus-example-app:0.4.2 imagePullPolicy: IfNotPresent name: prometheus-coo-example-app --- apiVersion: v1 kind: Service metadata: labels: app: prometheus-coo-example-app name: prometheus-coo-example-app namespace: ns1-coo spec: ports: - port: 8080 protocol: TCP targetPort: 8080 name: web selector: app: prometheus-coo-example-app type: ClusterIP
- 保存该文件。
运行以下命令,将配置应用到集群:
$ oc apply -f prometheus-coo-example-app.yaml
运行以下命令验证 pod 是否正在运行,并观察输出:
$ oc -n ns1-coo get pod
输出示例
NAME READY STATUS RESTARTS AGE prometheus-coo-example-app-0927545cb7-anskj 1/1 Running 0 81m