You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Kafka 2.11-0.11.0.0版本如何查看Topic消费滞后?

解决Kafka 0.11.0.0及以上版本查看消费滞后的问题

嘿,这个问题我太熟悉了!从Kafka 2.10-0.9.0.1升级到2.11-0.11.0.0之后,旧的ConsumerOffsetChecker命令确实失效了——因为从Kafka 0.9版本开始,官方就支持将消费偏移量存储在Broker端的__consumer_offsets主题中(这也是现在的推荐方案,替代之前的ZooKeeper存储),所以我们需要换用新的工具来查看消费滞后。

下面给你几种实用的方法:

1. 使用官方自带的kafka-consumer-groups.sh脚本(首推)

这是官方用来替代旧工具的全新脚本,功能更全面,支持查看Broker端存储的偏移量。

查看指定消费组的所有主题滞后情况

执行以下命令,替换对应的Kafka Broker地址和消费组名称:

./kafka-consumer-groups.sh --bootstrap-server your-kafka-broker-ip:9092 --describe --group your-group-name

执行后会输出类似这样的详细信息:

GROUP TOPIC PARTITION CURRENT-OFFSET LOG-END-OFFSET LAG CONSUMER-ID HOST CLIENT-ID
your-group-name topicName 0 1000 1200 200 consumer-1-xxx 192.168.1.100 consumer-1
your-group-name topicName 1 800 950 150 consumer-2-xxx 192.168.1.101 consumer-2

其中:

  • LAG:就是你要找的消费滞后量,代表消费组落后于最新消息的条数
  • CURRENT-OFFSET:消费组当前已提交的偏移量
  • LOG-END-OFFSET:对应分区的最新消息偏移量

只查看指定主题的滞后情况

如果只想关注某个特定主题,可以加上--topic参数:

./kafka-consumer-groups.sh --bootstrap-server your-kafka-broker-ip:9092 --describe --group your-group-name --topic topicName

2. 若仍使用ZooKeeper存储偏移量(不推荐)

如果升级后你没有修改配置,依然用ZooKeeper存储偏移量,还可以调用旧的工具类(注意:该方式已被官方标记为废弃,未来版本会移除):

./kafka-run-class.sh kafka.tools.ZooKeeperConsumerOffsetChecker --group your-group-name --topic topicName --zookeeper zooIp:2181

这里还是建议尽快迁移到Broker端存储偏移量,这是官方的长期推荐方案。

3. 编程方式获取(适合自定义监控)

如果需要将消费滞后数据集成到自己的监控系统中,可以用Kafka的AdminClient API来实现,核心步骤如下:

  1. 通过AdminClient获取目标消费组在各个分区的已提交偏移量
  2. 通过KafkaConsumer获取每个分区的最新消息偏移量(即LOG-END-OFFSET)
  3. 计算每个分区的滞后量:LAG = LOG-END-OFFSET - CURRENT-OFFSET
    这种方式适合有定制化监控需求的场景。

内容的提问来源于stack exchange,提问作者Ashish

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 07:12:23