java 获取kafka lag,如何获取kafka某topic的Logsize?

其实kafka提供了一系列的工具可以查看offset.

如:

MacPro:kafka-0.8.2.2-src ajian$ kafka-consumer-offset-checker.sh --zookeeper localhost:2181 --topic my-replicated-topic  --group console-consumer-11758

Group           Topic                          Pid Offset          logSize         Lag             Owner

console-consumer-11758 my-replicated-topic            0   3715607         3715608         1               console-consumer-11758_MacPro-1449666659508-e5c5524d-0

其实consumer的offset都是在zookeeper上面可以找到对应的数字. 具体查看kafka在zk中的数据结构: https://cwiki.apache.org/confluence/display/KAFKA/Kafka+data+structures+in+Zookeeper

但是一直没有办法找到logSize的数据从何而来(不用脚本工具), 这里面的logsize其实就是topic的最新offset或者说是message的长度.

延迟就是: logSize – Offset=Lag

本人的目的就是通过原理获取这些数据进行监控,不想使用sh工具的原因1.格式还需要转 2.速度慢 3.依赖环境 4.需要的数据过多或者过少.

请熟悉kafka的同学看看.

补充下一个开源工具KafkaOffsetMonitor的情况(本人对java不是非常的熟悉 看着有些费力)

https://github.com/quantifind/KafkaOffsetMonitor/blob/d9c2a64d233043dcdc65d4d4974a044f6649615b/src/main/scala/com/quantifind/kafka/OffsetGetter.scala#L130

kafka 的 api 提供了 getoffsetbefore 这个接口, 可以获取到最新的offset。把所有的lag加起来就是总的lag

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值