8.3. 指标文件示例
您可以在 AMQ Streams 提供的示例配置文件中找到 Grafana 仪表板和其他指标配置文件示例。
AMQ Streams 提供的指标文件示例
metrics
├── grafana-dashboards
│ ├── strimzi-cruise-control.json
│ ├── strimzi-kafka-bridge.json
│ ├── strimzi-kafka-connect.json
│ ├── strimzi-kafka-exporter.json
│ ├── strimzi-kafka-mirror-maker-2.json
│ ├── strimzi-kafka.json
│ ├── strimzi-operators.json
│ └── strimzi-zookeeper.json
├── grafana-install
│ └── grafana.yaml
├── prometheus-additional-properties
│ └── prometheus-additional.yaml
├── prometheus-alertmanager-config
│ └── alert-manager-config.yaml
├── prometheus-install
│ ├── alert-manager.yaml
│ ├── prometheus-rules.yaml
│ ├── prometheus.yaml
│ ├── strimzi-pod-monitor.yaml
├── kafka-bridge-metrics.yaml
├── kafka-connect-metrics.yaml
├── kafka-cruise-control-metrics.yaml
├── kafka-metrics.yaml
└── kafka-mirror-maker-2-metrics.yaml
- 1
- 不同 AMQ Streams 组件的 Grafana 仪表板示例。
- 2
- Grafana 镜像的安装文件。
- 3
- 额外的配置,用于提取 CPU、内存和磁盘卷使用量的指标,直接来自于节点上的 OpenShift cAdvisor 代理和 kubelet。
- 4
- 用于通过 Alertmanager 发送通知的 hook 定义。
- 5
- 用于部署和配置 Alertmanager 的资源。
- 6
- 用于 Prometheus Alertmanager 的警报规则示例(与 Prometheus 一起部署)。
- 7
- Prometheus 镜像的安装资源文件。
- 8
- PodMonitor 定义由 Prometheus Operator 转换为作业,以便 Prometheus 服务器直接从 pod 中提取指标数据。
- 9
- 启用指标的 Kafka Bridge 资源。
- 10
- 为 Kafka 连接定义 Prometheus JMX Exporter 重新标记规则的指标配置。
- 11
- 为 Cruise 控制定义 Prometheus JMX Exporter 重新标记规则的指标配置。
- 12
- 为 Kafka 和 ZooKeeper 定义 Prometheus JMX Exporter 重新标记规则的指标配置。
- 13
- 为 Kafka Mirror Maker 2.0 定义 Prometheus JMX Exporter 重新标记规则的指标配置。
8.3.1. Prometheus 指标配置示例 复制链接链接已复制到粘贴板!
AMQ Streams 使用 Prometheus JMX Exporter 来通过 HTTP 端点公开指标,端点可由 Prometheus 服务器提取。
Grafana 仪表板依赖于 Prometheus JMX Exporter 重新标记规则,这些规则在自定义资源配置中为 AMQ Streams 组件定义。
标签是一个名称值对。重新标记是指动态编写标签的过程。例如,标签的值可以从 Kafka 服务器和客户端名称派生而来。
AMQ Streams 提供示例自定义资源配置 YAML 文件,并带有重新标记规则。在部署 Prometheus 指标配置时,您可以部署示例自定义资源,或将指标配置复制到您自己的自定义资源定义中。
| 组件 | 自定义资源 | YAML 文件示例 |
|---|---|---|
| Kafka 和 ZooKeeper |
|
|
| Kafka Connect |
|
|
| Kafka MirrorMaker 2.0 |
|
|
| Kafka Bridge |
|
|
| Sything Control |
|
|
8.3.2. 警报通知的 Prometheus 规则示例 复制链接链接已复制到粘贴板!
警报通知的 Prometheus 规则示例提供 AMQ Streams 提供的示例 指标配置文件。规则在 prometheus-rules.yaml 文件中的示例中指定,用于 Prometheus 部署。
警报规则提供有关指标中观察到的特定条件的通知。规则在 Prometheus 服务器上声明,但 Prometheus Alertmanager 负责警报通知。
Prometheus 警报规则使用 PromQL 表达式来持续评估的条件。
当警报表达式变为 true 时,满足条件,Prometheus 服务器会将警报数据发送到 Alertmanager。Alertmanager 然后使用为其部署配置的通信方法发送通知。
有关警报规则定义的一般点:
-
for属性与规则搭配使用,以确定在触发警报前必须保留条件的时间。 -
一个 tick 是一个基本的 ZooKeeper 时间单元,单位为毫秒,使用
Kafka.spec.zookeeper.config的tickTime参数进行测量和配置。例如,如果 ZooKeepertickTime=3000, 3 个 ticks (3 x 3000)等于 9000 毫秒。 -
ZookeeperRunningOutOfSpace指标和警报的可用性取决于所使用的 OpenShift 配置和存储实施。某些平台的存储实施可能无法提供指标提供警报所需的可用空间的信息。
Alertmanager 可以配置为使用电子邮件、聊天消息或其他通知方法。根据您的需要调整示例规则的默认配置。
8.3.2.1. 更改规则示例 复制链接链接已复制到粘贴板!
prometheus-rules.yaml 文件包含以下组件的示例规则:
- Kafka
- ZooKeeper
- Entity Operator
- Kafka Connect
- Kafka Bridge
- MirrorMaker
- Kafka Exporter
文件中提供了每个示例规则的描述。
8.3.3. Grafana 仪表板示例 复制链接链接已复制到粘贴板!
如果部署 Prometheus 以提供指标,您可以使用 AMQ Streams 提供的示例 Grafana 仪表板来监控 AMQ Streams 组件。
示例仪表板在 example /metrics/grafana-dashboards 目录中作为 JSON 文件提供。
所有仪表板都提供 JVM 指标,以及组件相关的指标。例如,AMQ Streams 操作器的 Grafana 仪表板提供有关它们正在处理的协调或自定义资源数量的信息。
示例仪表板没有显示 Kafka 支持的所有指标。仪表板会填充一组用于监控的代表指标。
| 组件 | JSON 文件示例 |
|---|---|
| AMQ Streams operator |
|
| Kafka |
|
| ZooKeeper |
|
| Kafka Connect |
|
| Kafka MirrorMaker 2.0 |
|
| Kafka Bridge |
|
| Sything Control |
|
| Kafka Exporter |
|
当 Kafka Exporter 没有可用于 Kafka Exporter 时,因为集群中没有流量,Kafka Exporter Grafana 仪表板将显示 N/A 的数字字段和 No data to show for graphs。