6.3. 在 OpenShift 4 中查看 Kafka 指标和仪表板
				当 AMQ Streams 部署到 OpenShift Container Platform 4.x 时,指标 将通过监控用户定义的项目 来提供。此 OpenShift 功能可让开发人员访问单独的 Prometheus 实例来监控其自己的项目(如 Kafka 项目)。
			
				如果启用了对用户定义的项目的监控,openshift -user-workload-monitoring 项目包含以下组件:
			
- Prometheus Operator
- Prometheus 实例(由 Prometheus Operator 自动部署)
- Thanos Ruler 实例
AMQ Streams 使用这些组件来消耗指标。
集群管理员必须启用对用户定义的项目的监控,然后授予开发人员和其他用户权限来监控其项目中的应用。
Grafana 部署
您可以将 Grafana 实例部署到包含 Kafka 集群的项目中。然后,可以将 Grafana 仪表板示例用于在 Grafana 用户界面中视觉化 AMQ Streams 的 Prometheus 指标。
					openshift-monitoring 项目为核心平台组件提供监控。不要在此 项目中使用 Prometheus 和 Grafana 组件来配置 OpenShift Container Platform 4.x 上的 AMQ Streams 监控。
				
Grafana 版本 6.3 是最低支持的版本。
先决条件
- 已使用示例 YAML 文件 部署了 Prometheus 指标配置。
- 启用了 对用户定义的项目的监控。集群管理员必须已在 OpenShift Container Platform 集群中创建了 - cluster-monitoring-configConfigMap。如需更多信息,请参阅以下资源:- 在 OpenShift Container Platform 4.6 中为用户定义的项目启用监控。
- 在 OpenShift Container Platform 4.5 中启用对您自己的服务 的监控。
 
- 要监控用户定义的项目,集群管理员必须已被分配了 - monitoring-rules-edit或- monitoring-edit 角色。请参阅:- 授予用户权限来监控 OpenShift Container Platform 4.6 中的用户定义的项目。
- 在 OpenShift Container Platform 4.5 中使用 Web 控制台授予用户权限。
 
流程提纲
要在 OpenShift Container Platform 4.x 中设置 AMQ Streams 监控,请按照以下步骤操作:
6.3.1. 部署 Prometheus 资源
在 OpenShift Container Platform 4.x 上运行 AMQ Streams 时使用此流程。
					要启用 Prometheus 以使用 Kafka 指标,您可以在示例指标文件中配置和部署 PodMonitor 资源。PodMonnitors 直接从 Apache Kafka、ZooKeeper、Operator、Kafka Bridge 和 Cruise Control 的 pod 中提取数据。
				
然后,您为 Alertmanager 部署示例警报规则。
先决条件
- 正在运行的 Kafka 集群。
- 检查 AMQ Streams 提供的示例警报规则。
步骤
- 检查是否启用了对用户定义的项目的监控: - oc get pods -n openshift-user-workload-monitoring - oc get pods -n openshift-user-workload-monitoring- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 如果启用,则返回监控组件的 Pod。例如: - Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 如果没有返回 pod,则禁用对用户定义的项目的监控。请参阅 第 6.3 节 “在 OpenShift 4 中查看 Kafka 指标和仪表板” 中的前提条件。 
- example - /metrics/prometheus-install/strimzi-pod-monitor.yaml中定义了多个- PodMonitor 资源。- 对于每个 - PodMonitor资源,编辑- spec.namespaceSelector.matchNames属性:- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 1
- Pod 从中提取指标的项目,如Kafka。
 
- 将 - strimzi-pod-monitor.yaml文件部署到运行 Kafka 集群的项目中:- oc apply -f strimzi-pod-monitor.yaml -n MY-PROJECT - oc apply -f strimzi-pod-monitor.yaml -n MY-PROJECT- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 将 Prometheus 规则示例部署到同一项目中: - oc apply -f prometheus-rules.yaml -n MY-PROJECT - oc apply -f prometheus-rules.yaml -n MY-PROJECT- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
其他资源
- OpenShift Container Platform 4.6 的监控 指南
- 第 6.4.3.3 节 “警报规则示例”