测试环境
#systemctl start zookeeper
#systemctl start kafkka
1 KafkaOffsetMonitor
KafkaOffsetMonitor是Kafka的一款客户端消费监控工具,用来实时监控Kafka服务的Consumer以及它们所在的Partition中的Offset,我们可以浏览当前的消费者组,并且每个Topic的所有Partition的消费情况都可以一目了然。
1.1 简介
KafkaOffsetMonitor,它是由Kafka开源社区提供的一款Web管理界面,是Kafka的一款客户端消费监控工具,用来实时监控Kafka服务的Consumer以及它们所在的Partition中的Offset,通过KafkaOffsetMonitor,我们可以很直观的知道,每个Partition的Message是否消费掉,有没有阻塞等。
通过web界面,可以方便的得知以下信息:
(1)对Consumer的消费监控,并列出每个Consumer的Offset数据。
(2)保护消费者组列表信息。
(3)每个Topic的所有Partition列表包含:Topic、Pid、Offset、LogSize、Lag以及Owner等。
(4)浏览查阅Topic的历史消费信息。
1.2 下载
KafkaOffsetMonitor托管在Github上,可以通过Github下载。
下载地址:https://github.com/gunsid/KafkaOffsetMonitor.git。
1.3 启动
将下载下来的KafkaOffsetMonitor jar包上传到linux上,可以新建一个目录KafkaMonitor,用于存放KafkaOffsetMonitor-assembly-0.2.1.jar进入到KafkaMonitor目录下,通过java编译命令来运行这个jar包:
java -cp KafkaOffsetMonitor-assembly-0.2.0.jar com.quantifind.kafka.offsetapp.OffsetGetterWeb
--zk 10.0.0.50:12181,10.0.0.60:12181,10.0.0.70:12181
--port 8088
--refresh 5.seconds
--retain 1.days
如果没有指定端口,则默认会开启一个随机端口。
zk :zookeeper主机地址,如果有多个,用逗号隔开
port :应用程序端口
refresh :应用程序在数据库中刷新和存储点的频率
retain :在db中保留多长时间
dbName :保存的数据库文件名,默认为offsetapp
编辑启动脚本
#vi kafka-monitor-start.sh
#chmod a+x kafka-monitor-start.sh
java -Xms512M -Xmx512M -Xss1024K -XX:PermSize=256m -XX:MaxPermSize=512m -cp KafkaOffsetMonitor-assembly-0.2.0.jar com.quantifind.kafka.offsetapp.OffsetGetterWeb \
--port 8089 \
--zk 10.23.241.202:2181 \
--refresh 5.minutes \
--retain 1.day >/dev/null 2>&1;
#nohup /root/mm/kafka-monitor-start.sh & 启动
#netstat -lnp | grep 8089 查看端口占用情况
1.4 web UI
在游览器中输入:http://ip:port即可以查看KafkaOffsetMonitor Web UI。
http://10.23.241.202:8089/。