第 16 章 使用 Kafka Exporter
Kafka Exporter 是一个开源项目,用于增强对 Apache Kafka 代理和客户端的监控。
Kafka Exporter 由 AMQ Streams 使用 Kafka 集群进行部署,以便从与偏移、消费者组、消费者和主题相关的 Kafka 代理中提取其他指标数据。
例如,使用指标数据来帮助识别较慢的用户。
lag 数据作为 Prometheus 指标公开,然后可以在 Grafana 中进行分析。
如果您已经使用 Prometheus 和 Grafana 进行内置 Kafka 指标的监控,您可以将 Prometheus 配置为提取 Kafka Exporter Prometheus 端点。
Kafka 通过 JMX 公开指标数据,然后作为 Prometheus 指标导出。如需更多信息,请参阅使用 JMX 监控集群。
16.1. consumer lag 复制链接链接已复制到粘贴板!
消费者滞后表示消息的速度与消息的消耗的差别。具体来说,给定消费者组的使用者 lag 表示分区中最后一个消息和当前由该消费者获取的消息之间的延迟。lag 反映了与分区日志末尾相关的消费者偏移位置。
这种差异有时被称为制作者偏移和消费者偏移之间的 delta,即 Kafka 代理主题分区中的读写位置。
假设主题流为 100 条消息。制作者偏移(主题分区头)和消费者读取的最后偏移之间存在 1000 条消息,即 10 秒的延迟。
监控消费者 Lg 的重要性
对于依赖于实时数据的处理的应用程序,监控消费者来判断其是否不会变得太大。整个过程越好,流程从实时处理目标中得到的增长。
例如,消费者滞后可能是消耗太多的旧数据(这些数据尚未被清除)或出现计划外的关闭。
减少消费者布局
要降低 lag 的典型操作包括:
- 通过添加新消费者来扩展消费者
- 在一个主题中增加消息的保留时间
- 添加更多磁盘容量以增加消息缓冲
为减少消费者布局的操作取决于底层的基础架构,而用例 AMQ Streams 支持。例如,分发的消费者不太可能从其磁盘缓存中获取请求的服务从代理服务。在某些情况下,在消费者购买前可以自动丢弃信息。