Kafka 跟踪消费者进度

mrm*_*one 3 apache-kafka kafka-consumer-api

我有一个 Kafka 主题和四个消费者组。每个组中可以有不同数量的节点进行消费。不同的群体可以以不同的速度消费,有些群体可能会落后,但我想知道这种情况是否会发生以及落后了多远。我想跟踪每个小组对这个主题的理解程度。我可以获取每个消费者的偏移量并将其写入指标吗?或者偏移量不是一个很好的指示,因为它可能在分区之间有所不同,我需要做一些不同的事情。顺便说一句,会有相当多的分区。

我还可以做其他事情,但如果有更简单的方法,我宁愿不更改有效负载来添加计数器或时间戳?

谢谢。

mju*_*rez 5

您想要衡量所谓的消费者滞后。有多种方法可以获取此信息,包括(但不限于):

  • 监控的外部服务,您可以直接查询 - https://github.com/linkedin/Burrow
  • Kafka 附带的命令行实用程序可以显示此信息。具体来说,kafka-consumer.groups.sh有一个--offsets选项可以显示最新主题以及消费者滞后。
  • 您可以以编程方式查询 Kafka 以获取最新的偏移量,以及每个消费者组最新消耗的偏移量。