KafkaOffsetMonitor是一个可以用于监控Kafka的Topic及Consumer消费状况的工具,其配置和使用特别的方便。
源项目Github地址为:
https://github.com/quantifind/KafkaOffsetMonitor
最简单的使用方式是从Github上下载一个最新的KafkaOffsetMonitor-assembly-0.2.1.jar,上传到某服务器上,然后执行一句命令就可以运行起来。
但是在使用过程中有可能会发现页面反应缓慢或者无法显示相应内容的情况。据说这是由于jar包中的某些js等文件需要连接到网络。网上找的一个修改版的KafkaOffsetMonitor对应jar包,可以完全在本地运行,经过测试效果不错
可以写个启动脚本:
kafkaMonitor-start.sh
nohup java -Xms512M -Xmx512M -Xss1024K -XX:PermSize=256m -XX:MaxPermSize=512m -cp \
KafkaOffsetMonitor-assembly-0.2.1.jar com.quantifind.kafka.offsetapp.OffsetGetterWeb \
--zk centoshadoop1:2181,centoshadoop2:2181,centoshadoop3:2181 --port 7878 \
--refresh 10.seconds --retain 3.days 1>/home/hadoop/tools/stdout.log 2>/home/hadoop/tools/kafkamonitor.log &
————————————————
各个参数的含义:
解释下这条启动命令的含义,首先我们需要指明运行Web监控的类,然后需要用到ZooKeeper,所有要填写ZK集群信息,接着是Web运行端口,页面数据刷新的时间以及保留数据的时间值。
最新版的kafka监控工具,按照以前的方式运行,能够打开首页,但是首页什么内容也没有,感觉像是出了什么幺蛾子,浏览器右键打开开发者模式,发现三个angularjs文件采用的是google地址,这肯定是访问不了的,404,为了使用这个版本就得修改首页引用的angularjs地址。
这个地址也不是不能改,但是这个修改需要解压jar包。然后修改offsetapp目录下的index.html。修改完了,然后重新打jar包。
具体步骤如下:
1:解压到指定位置(web)目录
unzip KafkaOffsetMonitor-assembly-0.2.1.jar -d web
2: 修改为可以访问的angular地址,或者直接下载所需的文件,然后引用。
进入offsetapp目录,打开index.html,找到加载失败的angularjs,替换为:
<script src="//code.angularjs.org/1.2.9/angular.js"></script>
<script src="//code.angularjs.org/1.2.9/angular-route.js"></script>
<script src="//code.angularjs.org/1.2.9/angular-resource.js"></script>
或者是改为如下的地址
<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>
3: cd web
打jar(KafkaOffsetMonitor-assembly-0.2.1.jar)包
jar cvfm0 KafkaOffsetMonitor-assembly-0.2.1.jar META-INF/MANIFEST.MF .
4: 启动服务
[hadoop@centoshadoop4 tools]$ ./kafkaMonitor-start.sh
查看日志:启动正常
Kafka监控工具KafkaOffsetMonitor配置及使用
F12查看控制台如下
js更改已成功!
[kafka集群KafkaOffsetMonitor-assembly-0.2.1没部署在一起]启动kafka集群,刷新该页面:
完美!!!!!!!