黑窗口的kafka集群没有监控,可以使用三方开源的监控工具,查询了些资料,网上流传最多的有三个监控工具:
Kafka Web Conslole
Kafka Manager
KafkaOffsetMonitor。
在此,笔者选用的是KafkaOffsetMonitor
KafkaOffsetMonitor的软件包下载地址在GitHub,可以直接在linux中使用wget即可下载。
wget https://github.com/quantifind/KafkaOffsetMonitor/releases/download/v0.2.1/KafkaOffsetMonitor-assembly-0.2.1.jar
创建一个kafka监控的目录
mkdir /home/kafkamonitorlogs
执行如下语句启动kafka监控
java -Xms512M -Xmx512M -Xss1024K -XX:PermSize=256m -XX:MaxPermSize=512m -cp KafkaOffsetMonitor-assembly-0.2.1.jar \
com.quantifind.kafka.offsetapp.OffsetGetterWeb \
--zk 10.104.109.176:2181,10.104.86.238:2182,10.104.122.21:2181 \
--port 8787 \
--refresh 10.seconds \
--retain 7.days 1>/home/kafkamonitorlogs/stdout.log 2>/home/kafkamonitorlogs/stderr.log &
也可以编写启动停止脚本
start.sh
#!/bin/bash
java -Xms512M -Xmx512M -Xss1024K -XX:PermSize=256m -XX:MaxPermSize=512m -cp KafkaOffsetMonitor-assembly-0.2.1.jar com.quantifind.kafka.offsetapp.OffsetGetterWeb --zk 10.104.109.176:2181,10.104.86.238:2182,10.104.122.21:2181 --port 8787 --refresh 10.seconds --retain 7.days 1>/home/kafkamonitorlogs/stdout.log 2>/home/kafkamonitorlogs/stderr.log &
#!/bin/bash
killnum=`jps | grep OffsetGetterWeb | awk '{print $1}'`
kill -9 ${killnum}
echo "OK...."
启动之后查看web界面
访问:安装服务器的ip:8787。
(端口可以指定,也可以不指定让服务器随机提供端口号)。
可能
进入界面了可能什么都没有显示,那是因为并没有使用本地的插件,而是去google地址上下载。缺少核心的js插件-angularjs。
解决办法是用好压把KafkaOffsetMonitor-assembly-0.2.1.jar解压的一个文件夹,然后找到offsetapp,打开,编辑index.html,修改三个angular地址。
<script src="//cdn.static.runoob.com/libs/angular.js/1.4.6/angular.min.js"></script>
<script src="//cdn.static.runoob.com/libs/angular.js/1.4.6/angular-route.js"></script>
<script src="//cdn.static.runoob.com/libs/angular.js/1.4.6/angular-resource.js"></script>
topic:创建topic的名称
partition:分区编号
offset:该partition已经消费了多少条message
logsize:该partition已经写入了多少条message
lag:该partition未消费多少条message
owner:gaipartition所属消费者