如何对Kafka进行监控

原创
2014/05/12 18:05
阅读数 3.9W

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地址试试.

展开阅读全文
打赏
3
17 收藏
分享
加载中
卢禹博主

引用来自“happy365lyzh”的评论

我也用了同样的方式,并且根据ip:port都可以 telnet通过,但是jconsole却无法连接kafka jmx,奇了怪了,也是根绝楼主的方式启动的时候加了JMX_PORT=9999 ,防火墙什么都没有问题,端口已放开!
还可能是主机名的关系呦
2018/04/12 16:46
回复
举报
我也用了同样的方式,并且根据ip:port都可以 telnet通过,但是jconsole却无法连接kafka jmx,奇了怪了,也是根绝楼主的方式启动的时候加了JMX_PORT=9999 ,防火墙什么都没有问题,端口已放开!
2018/04/05 22:35
回复
举报
该评论暂时无法显示,详情咨询 QQ 群:912889742
jconsole足以
2014/05/12 23:58
回复
举报
更多评论
打赏
4 评论
17 收藏
3
分享
返回顶部
顶部