搜索

21.3. 指标文件示例

download PDF

您可以在 Apache Kafka 的 Streams 提供 的示例配置文件 中找到 Grafana 仪表板和其他指标配置文件示例。

由 Apache Kafka 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 3
├── prometheus-alertmanager-config
│   └── alert-manager-config.yaml 4
├── prometheus-install
│    ├── alert-manager.yaml 5
│    ├── prometheus-rules.yaml 6
│    ├── prometheus.yaml 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

1
Apache Kafka 组件的不同流的 Grafana 仪表板示例。
2
Grafana 镜像的安装文件。
3
用于提取 CPU、内存和磁盘卷使用情况的指标的额外配置,它们直接来自节点上的 OpenShift cAdvisor 代理和 kubelet。
4
用于通过 Alertmanager 发送通知的 hook 定义。
5
用于部署和配置 Alertmanager 的资源。
6
与 Prometheus Alertmanager 搭配使用的警报规则示例(使用 Prometheus 部署)。
7
Prometheus 镜像的安装资源文件。
8
Prometheus Operator 将 PodMonitor 定义转换为 Prometheus 服务器的作业,以便直接从 Pod 中提取指标数据。
9
启用指标的 Kafka Bridge 资源。
10
为 Kafka Connect 定义 Prometheus JMX Exporter 重新标记规则的指标配置。
11
为 Cruise 控制定义 Prometheus JMX Exporter 重新标记规则的指标配置。
12
为 Kafka 和 ZooKeeper 定义 Prometheus JMX Exporter 重新标记规则的指标配置。
13
为 Kafka MirrorMaker 2 定义 Prometheus JMX Exporter 重新标记规则的指标配置。

21.3.1. Prometheus 指标配置示例

Apache Kafka 的 Streams 使用 Prometheus JMX Exporter 通过 HTTP 端点公开指标,该端点可以被 Prometheus 服务器提取。

Grafana 仪表板依赖于 Prometheus JMX Exporter 重新标记规则,这些规则在自定义资源配置中为 Apache Kafka 组件定义。

标签是一个 name-value 对。重新标记是动态写入标签的过程。例如,标签的值可能源自 Kafka 服务器和客户端 ID 的名称。

Apache Kafka 的流提供了带有重新标记规则的自定义资源配置 YAML 文件示例。在部署 Prometheus 指标配置时,您可以部署示例自定义资源,或者将指标配置复制到您自己的自定义资源定义中。

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

Kafka 和 ZooKeeper

Kafka

kafka-metrics.yaml

Kafka Connect

KafkaConnect

kafka-connect-metrics.yaml

Kafka MirrorMaker 2

KafkaMirrorMaker2

kafka-mirror-maker-2-metrics.yaml

Kafka Bridge

KafkaBridge

kafka-bridge-metrics.yaml

Sything Control

Kafka

kafka-cruise-control-metrics.yaml

21.3.2. 警报通知的 Prometheus 规则示例

警报通知的 Prometheus 规则示例提供了 Apache Kafka 的 Streams 提供的 指标配置文件示例。规则在 prometheus-rules.yaml 示例中指定,用于在 Prometheus 部署中使用

prometheus-rules.yaml 文件包含以下组件的示例规则:

  • Kafka
  • ZooKeeper
  • Entity Operator
  • Kafka Connect
  • Kafka Bridge
  • MirrorMaker
  • Kafka Exporter

文件中提供了每个示例规则的描述。

警报规则提供有关指标中观察到的特定条件的通知。在 Prometheus 服务器上声明规则,但 Prometheus Alertmanager 负责警报通知。

Prometheus 警报规则使用 PromQL 表达式来持续评估的条件。

当警报表达式变为 true 时,条件会被满足,Prometheus 服务器会将警报数据发送到 Alertmanager。然后,Alertmanager 使用为其部署配置的通信方法发送通知。

有关警报规则定义的一般点:

  • for 属性与规则一起使用,以确定条件在触发警报前必须保留的时间周期。
  • tick 是一个基本的 ZooKeeper 时间单元,它以毫秒为单位测量,并使用 Kafka.spec.zookeeper.configtickTime 参数进行配置。例如,如果 ZooKeeper tickTime=3000,3 ticks (3 x 3000)等于 9000 毫秒。
  • ZookeeperRunningOutOfSpace 指标和警报的可用性取决于所使用的 OpenShift 配置和存储实现。某些平台的存储实现可能无法提供指标提供警报所需的可用空间的信息。

Alertmanager 可以配置为使用电子邮件、聊天消息或其他通知方法。根据您的特定需求,调整示例规则的默认配置。

21.3.3. Grafana 仪表板示例

如果部署 Prometheus 以提供指标,您可以使用 Apache Kafka 提供的流 Grafana 仪表板示例来监控 Apache Kafka 组件的 Streams。

示例仪表板在 examples/metrics/grafana-dashboards 目录中作为 JSON 文件提供。

所有仪表板都提供 JVM 指标,以及特定于组件的指标。例如,Apache Kafka operator 的 Streams 的 Grafana 仪表板提供有关它们正在处理的协调或自定义资源数量的信息。

示例仪表板不显示 Kafka 支持的所有指标。仪表板填充了用于监控的指标集合。

表 21.2. Grafana 仪表板文件示例
组件JSON 文件示例

Apache Kafka operator 的流

strimzi-operators.json

Kafka

strimzi-kafka.json

ZooKeeper

strimzi-zookeeper.json

Kafka Connect

strimzi-kafka-connect.json

Kafka MirrorMaker 2

strimzi-kafka-mirror-maker-2.json

Kafka Bridge

strimzi-kafka-bridge.json

Sything Control

strimzi-cruise-control.json

Kafka Exporter

strimzi-kafka-exporter.json

注意

当 Kafka Exporter 不可用指标时,因为集群中没有流量,Kafka Exporter Grafana 仪表板将显示 N/A 用于数字字段,且没有 显示图形的数据

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.