第 7 章 为 AMQ Streams 设置指标和仪表板


您可以通过在仪表板上查看关键指标并设置在某些情况下触发的警报来监控 AMQ Streams 部署。指标数据可用于 Kafka、ZooKeeper 以及 AMQ Streams 的其他组件。

为提供指标信息,AMQ Streams 使用 Prometheus 规则和 Grafana 仪表板。

当为 AMQ Streams 的每个组件配置一组规则时,Prometheus 会使用来自集群中运行的 pod 的键指标。然后,Grafana 在仪表板上视觉化这些指标。AMQ Streams 包括 Grafana 仪表板示例,您可以自定义这些仪表板适合您的部署。

在 OpenShift Container Platform 4.x 中,AMQ Streams 采用 对用户定义的项目的监控 (OpenShift 功能)来简化 Prometheus 设置过程。

在 OpenShift Container Platform 3.11 中,您需要将 Prometheus 和 Alertmanager 组件单独部署到集群中。

无论 OpenShift Container Platform 版本是什么,您必须首先 部署 AMQ Streams 的 Prometheus metrics 配置

接下来,按照 OpenShift Container Platform 版本的说明进行操作:

通过 Prometheus 和 Grafana 设置,您可以使用示例 Grafana 仪表板和警报规则来监控 Kafka 集群。

其他监控选项

Kafka Exporter 是一个可选组件,提供与消费者滞后相关的额外监控。如果要将 Kafka Exporter 用于 AMQ Streams,请参阅 配置 Kafka 资源以使用 Kafka 集群部署 Kafka 导出器

您还可以通过设置分布式追踪将部署配置为跟踪端到端的消息。如需更多信息,请参阅 OpenShift 中使用 AMQ Streams 中的 分布式追踪

其它资源

7.1. 指标文件示例

您可以在 example /metrics 目录中找到 Grafana 仪表板和其他指标配置文件的示例 。如下表所示,一些文件仅用于 OpenShift Container Platform 3.11,而不适用于 OpenShift Container Platform 4.x。

AMQ Streams 提供的指标文件示例

metrics
├── grafana-dashboards 
1

│   ├── 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 
2

├── prometheus-additional-properties
│   └── prometheus-additional.yaml - OPENSHIFT 3.11 ONLY 
3

├── prometheus-alertmanager-config
│   └── alert-manager-config.yaml 
4

├── prometheus-install
│    ├── alert-manager.yaml - OPENSHIFT 3.11 ONLY 
5

│    ├── prometheus-rules.yaml 
6

│    ├── prometheus.yaml - OPENSHIFT 3.11 ONLY 
7

│    ├── strimzi-pod-monitor.yaml 
8

├── kafka-bridge-metrics.yaml 
9

├── kafka-connect-metrics.yaml 
10

├── kafka-cruise-control-metrics.yaml 
11

├── kafka-metrics.yaml 
12

└── kafka-mirror-maker-2-metrics.yaml 
13
Copy to Clipboard Toggle word wrap

1
Grafana 仪表板示例.
2
Grafana 镜像的安装文件。
3
OPENSHIFT 3.11 ONLY: Additional Prometheus 配置提取 CPU、内存和磁盘卷用量的指标,它们直接来自节点上的 OpenShift cAdvisor 代理和 kubelet。
4
用于通过 Alertmanager 发送通知的 hook 定义。
5
OPENSHIFT 3.11 ONLY :用于部署和配置 Alertmanager 的资源。
6
用于 Prometheus Alertmanager 的警报规则示例。
7
OPENSHIFT 3.11 ONLY:Prometheus 镜像的安装资源文件。
8
Prometheus Operator 将 PodMonitor 定义转换为作业,以便 Prometheus 服务器能够直接从 pod 中提取指标数据。
9
启用指标数据的 Kafka Bridge 资源。
10
为 Kafka Connect 定义 Prometheus JMX Exporter 重新标记规则的指标配置。
11
定义 Prometheus JMX Exporter 重新标记 Cruise Control 规则的指标配置。
12
为 Kafka 和 ZooKeeper 定义 Prometheus JMX Exporter 重新标记规则的指标配置。
13
为 Kafka Mirror Maker 2.0 定义 Prometheus JMX Exporter 重新标记规则的指标配置。

7.1.1. Grafana 仪表板示例

为监控以下资源提供了 Grafana 仪表板示例:

AMQ Streams Kafka

显示以下指标:

  • 在线代理数
  • 集群计数中的活跃控制器
  • 未清理领导选举率
  • 在线副本
  • 复制不足的分区数
  • 至少在同步副本数中的分区
  • 在同步副本数中最小分区
  • 没有活跃领导且因此不可写入或可读的分区
  • Kafka 代理 pod 内存用量
  • 聚合 Kafka 代理 pod CPU 用量
  • Kafka 代理 pod 磁盘用量
  • 使用的 JVM 内存
  • JVM 垃圾收集时间
  • JVM 垃圾回收计数
  • 传入字节速率总数
  • 传出字节速率总数
  • 传入的消息率
  • 生成请求率总数
  • 字节率
  • 生成请求率
  • 获取请求率
  • 网络处理器平均空闲百分比
  • 请求处理程序平均时间空闲百分比
  • 日志大小
AMQ Streams ZooKeeper

显示以下指标:

  • Zookeeper ensemble 的仲裁大小
  • 活动 连接
  • 服务器数中的排队请求
  • watchers 数
  • zookeeper pod 内存用量
  • ZooKeeper pod CPU 使用量聚合
  • zookeeper pod 磁盘用量
  • 使用的 JVM 内存
  • JVM 垃圾收集时间
  • JVM 垃圾回收计数
  • 服务器响应客户端请求所需的时间(最大值、最小值和平均值)
AMQ Streams Kafka Connect

显示以下指标:

  • 传入字节速率总数
  • 传出字节速率总数
  • 磁盘用量
  • 使用的 JVM 内存
  • JVM 垃圾收集时间
AMQ Streams Kafka MirrorMaker 2

显示以下指标:

  • 连接器数量
  • 任务数量
  • 传入字节速率总数
  • 传出字节速率总数
  • 磁盘用量
  • 使用的 JVM 内存
  • JVM 垃圾收集时间
AMQ Streams Operator

显示以下指标:

  • 自定义资源
  • 每小时成功对自定义资源进行协调
  • 每小时自定义资源协调失败
  • 每小时无锁定的调节
  • 协调开始时间
  • 每小时定期协调
  • 最大协调时间
  • 平均协调时间
  • 使用的 JVM 内存
  • JVM 垃圾收集时间
  • JVM 垃圾回收计数

还为 AMQ Streams 的 Kafka BridgeCruise Control 组件提供仪表板。

所有控制面板都提供 JVM 指标,以及特定于各个组件的指标。例如,Operator 仪表板提供有关正在处理的协调或自定义资源数量的信息。

7.1.2. Prometheus 指标配置示例

AMQ Streams 使用 Prometheus JMX Exporter 来通过 HTTP 端点公开 JMX 指标,然后由 Prometheus 提取。

Grafana 仪表板依赖于 Prometheus JMX Exporter 重新标记规则,这些规则是为 AMQ Streams 组件定义的,作为自定义资源配置。

标签是 name-value 对。重新标记是动态编写标签的过程。例如,标签的值可以从 Kafka 服务器名称和客户端 ID 中获得。

AMQ Streams 提供示例自定义资源配置 YAML 文件,其中已定义了重新标记规则。部署 Prometheus 指标配置时,您可以部署示例自定义资源,或将指标配置复制到您自己的自定义资源定义中。

Expand
表 7.1. 带有指标配置的自定义资源示例
组件自定义资源YAML 文件示例

Kafka 和 ZooKeeper

kafka

kafka-metrics.yaml

Kafka Connect

KafkaConnectKafkaConnectS2I

kafka-connect-metrics.yaml

Kafka MirrorMaker 2.0

KafkaMirrorMaker2

kafka-mirror-maker-2-metrics.yaml

Kafka Bridge

KafkaBridge

kafka-bridge-metrics.yaml

Sything Control

kafka

kafka-cruise-control-metrics.yaml

其它资源

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat