想监控kafka的offset,主要是想了解生产者和消费者速度是否匹配,就去百度了一下常用的kafka offset监控工具,然后就找到了KafkaOffsetMonitor。
java -cp KafkaOffsetMonitor-assembly-0.2.0-SNAPSHOT.jar com.quantifind.kafka.offsetapp.OffsetGetterWeb –zk zk1:30000,zk2:30000,zk3:30000 –port 8089 –refresh 10.seconds –retain 2.days
但是运行了之后呢,我发现,只能显示控制台的消费者,我通过java-api的消费者去看,根本没有,如下图所示。
当时我就很纳闷,是不是有问题哦,然后我就去百度,看到了这么一句话:
kafka0.8版本以前,offset默认存储在zookeeper中(基于Zookeeper)
kafka0.9版本以后,offset默认存储在内部的topic中(基于Kafka内部的topic)
所以我晓得了,然后肯定是默认的独自ZK得了,然后我就又百度,找到了–offsetStorage kafka 这个启动选项:
java -cp KafkaOffsetMonitor-assembly-0.2.0-SNAPSHOT.jar com.quantifind.kafka.offsetapp.OffsetGetterWeb –offsetStorage kafka –zk zk1:30000,zk2:30000,zk3:30000 –port 8089 –refresh 10.seconds –retain 2.days
然后你会发现,还是不行,是因为这个版本,不支持offsetStorage这个设置,然后找了找,发现了0.3的版本,试了试0.3版本,可以的,启动命令如下:
java -cp KafkaOffsetMonitor-assembly-0.3.0-SNAPSHOT.jar com.quantifind.kafka.offsetapp.OffsetGetterWeb –offsetStorage kafka –zk zk1:30000,zk2:30000,zk3:30000 –port 8089 –refresh 10.seconds –retain 2.days
启动成功,然后我打开了ip+port,打开了页面,如下图所示:
红色的线代表每消费的,蓝色的线代表生产者message,绿色的代表消费者message,如果红的为0,表示消费者生产者速度匹配
这里给出了KafkaOffsetMonitor-assembly-0.3.0-SNAPSHOT.jar下载地址,我自己的下载地址,本来我想不要CSDN币的,但是最少2个,所以我就只要2个哦
http://download.csdn.net/download/qq_31806205/10178208
ok!