前言
最近对Kafka 集群部署了 Kafka_exporter
监控,并集成了 granfana
图标展示。
发现 Consumer Group Lag
有时候为负数。 于是进行一番查询,并总结整理下。
具体情形
从下图可以看出,consumer group
值有时候出现负数的情况。
具体原因
- 消息过期了(超过默认7天),已经被清理掉了,这时候
topic
最新的end-offset
是从0开始, 而__consumer_offset
不为0,则为负数。 Producer
的offset
是通过 JMX 轮询获得的,Consumer
的offset
是从kafka
内的__consumer_offsets
的topic
中直接读取到的,很明显轮询获取offset
比 直接从topic
拿offset
慢一点,也就可能会出现Lag
计算后为负数的情况。