序
本文主要讨论一下kafka consumer offset lag的监控
方案
利用官方的类库
ConsumerOffsetChecker
ConsumerGroupCommand
利用官方的JMX
ConsumerOffsetChecker
在0.8.2.2版本如下
kafka_2.10-0.8.2.2-sources.jar!/kafka/tools/ConsumerOffsetChecker.scala
缺点就是该类是给命令行调用的,每调用一次,就new一次zkClient,对于监控用来说,不是太合适,需要改造一下,抽取zkClient出来
ConsumerGroupCommand
0.8.2.2以上版本使用ConsumerGroupCommand替代了ConsumerOffsetChecker
kafka_2.11-0.10.2.1-sources.jar!/kafka/admin/ConsumerGroupCommand.scala
也是基于命令行来设计的
JMX
这个是利用kafka本身写入的JMX的数据,就不用额外在去像ConsumerOffsetChecker去自己连接再去获取。比如
小结
可以自己改造ConsumerOffsetChecker或者ConsumerGroupCommand,然后上报到statsd或者Prometheus。当然能利用JMX是最省事的了。
doc
kafka官方JMX+Reporters
领取专属 10元无门槛券
私享最新 技术干货