kafka是什么我就不介绍了,很多人在使用kafka的时候可能不清楚如何监控kafka的一些数据,比如每秒处理了多少消息啊之类的,和一些性能数据,kafka的文档中关于监控讲的实在有些不明确,根本也不说如何监控。让我们这些非专业JAVA开发人员情何以堪啊。。
这里主要给大家详细介绍一下如何监控kafka
首先从原理上介绍下,kafka的数据统计是通说一个叫metrics的工具进行收集的,metrics是一个java类库,能让你在生成环境下监控你的代码,比如你用java做个网站,他可以帮你统计每秒处理了多少请求之类的数据,在kafka中大量使用了metrics做各种性能统计metrics的官网是http://metrics.codahale.com/,希望使用metrics的同学可以去看看,里面有详细文档。当然今天说的监控kafka其实并不需要了解metrics太多。metrics以JMX的形式提供了对外查看数据的接口,因此我们首先要在kafka启动的时候指定jmx的端口,然后通过现成的可视化工具(visualvm)连过去查看就可以了。
1、kafka启动的时候指定jmx的端口 切到kafka的bin目录下,执行下面命令
JMX_PORT=9999 ./kafka-server-start.sh ../config/server.properties &
这样就启动kafka了 比平时多了个JMX_PORT=9999而已。
2、下载visualvm,官网是 http://visualvm.java.net/ visualvm是一款很好的java诊断,测试工具,开源,还有中文版。 下好后需要安装 MBeans插件,在visualvm里点 工具>>插件 在里面找就可以安装了。
3、然后就可以连接了,图形化界面,这里就不详细介绍了
tips:这里提示下,有些同学可能出死活现连不上的情况,这时候除了考虑防火墙等因素外,注意可能与主机名有关关,kafka貌似会用到主机名,如果主机名是localhost之类的不妨改成IP地址试试.