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


您可以使用 Prometheus 和 Grafana 监控 AMQ Streams 部署。

您可以通过在仪表板上查看关键指标并设置在特定条件下触发的警报来监控 AMQ Streams 部署。指标可用于 AMQ Streams 的每个组件。

您还可以收集特定于 oauth 身份验证的指标,以及 opakeycloak 授权。您可以通过在 Kafka 资源的监听程序配置中将 enableMetrics 属性设置为 true。例如,在 spec.kafka.listeners.authenticationspec.kafka.authorization 中将 enableMetrics 设置为 true。同样,您可以在 KafkaBridgeKafkaConnectKafkaMirrorMakerKafkaMirrorMaker2 自定义资源中启用 oauth 身份验证的指标。

为了提供指标数据,AMQ Streams 使用 Prometheus 规则和 Grafana 仪表板。

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

AMQ Streams 对用户定义的项目(OpenShift 功能)使用监控 来简化 Prometheus 设置过程。

根据您的要求,您可以:

设置 Prometheus 和 Grafana 后,您可以使用 AMQ Streams 提供的 Grafana 仪表板示例进行监控。

另外,您可以通过设置 分布式追踪 来配置部署来跟踪消息端到端。

注意

AMQ Streams 为 Prometheus 和 Grafana 提供示例安装文件。在尝试监控 AMQ Streams 时,您可以使用这些文件作为起点。为获得进一步的支持,请尝试与 Prometheus 和 Grafana 开发人员社区合作。

支持指标和监控工具的文档

如需有关指标和监控工具的更多信息,请参阅支持文档:

14.1. 使用 Kafka Exporter 监控消费者滞后

Kafka Exporter 是一个开源项目,用于增强对 Apache Kafka 代理和客户端的监控。您可以配置 Kafka 资源,以使用 Kafka 集群部署 Kafka 导出器。Kafka Exporter 从与偏移、消费者组、消费者滞后和主题相关的 Kafka 代理中提取额外的指标数据。例如,指标数据用于帮助识别较慢的用户。滞后数据作为 Prometheus 指标公开,然后可在 Grafana 中显示以进行分析。

Kafka Exporter 从 __consumer_offsets 主题读取,该主题存储消费者组的提交偏移信息。要使 Kafka Exporter 能够正常工作,消费者组需要正在使用。

Kafka Exporter 的 Grafana 仪表板是 AMQ Streams 提供的多个 Grafana 仪表板 之一。

重要

Kafka Exporter 仅提供与消费者滞后和消费者偏移相关的额外指标。对于常规 Kafka 指标,您必须在 Kafka 代理 中配置 Prometheus 指标。

消费者滞后表示消息的速度与消息的消耗的差别。具体来说,给定消费者组的消费者滞后指示分区中最后一个消息之间的延迟,以及当前由该消费者获取的消息之间的延迟。

lag 反映了与分区日志结束相关的消费者偏移的位置。

消费者在生成者和消费者偏移之间滞后

Consumer lag

这种差异有时被称为制作者偏移和消费者偏移之间的 delta : Kafka 代理主题分区中的读取和写入位置。

假设主题流 100 个消息。在制作者偏移(主题分区头)和最后一个偏移之间发生 1000 个消息,使用者读取的最后偏移时间为 10 秒的延迟。

监控消费者的重要性

对于依赖于实时数据的处理的应用程序,监控消费者来判断其是否不会变得太大。整个过程越好,流程从实时处理目标中得到的增长。

例如,消费者滞后可能是消耗太多的旧数据(这些数据尚未被清除)或出现计划外的关闭。

减少消费者滞后

使用 Grafana chart 分析滞后,检查操作是否减少对受影响的消费者组的影响。例如,如果对 Kafka 代理进行了调整以减少滞后,仪表板将显示 Lag by consumer group 图表下降,Messages consumed per minute 图表增加。

减少滞后的典型操作包括:

  • 通过添加新消费者来扩展消费者组
  • 增加保留时间以便消息保留在主题中
  • 添加更多磁盘容量以增加消息缓冲

减少消费者滞后的操作取决于底层基础架构和 AMQ Streams 的用例。例如,分发的消费者不太可能从其磁盘缓存中获取请求的服务从代理服务。在某些情况下,在消费者发现前,可以接受自动丢弃消息。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat