kafka如何监控
監控kafka主要使用到了倆個工具,一個是kafka-manager,一個是java中的JMX
首先我們使用解壓工具吧kafka-manager解壓
然后到減壓的目錄中找到剛剛減壓完成的kafka,修改它的配置文件
cd ../training/kafka-manager-2.0.0.2/ vim conf/application.conf修改第二十四行把你的zookeeper地址填進去,這里的zookeeper不是用來去監控kafka的,而是本身kafka-manager要使用zookeeper;并注釋掉二十五行
修改到這里我們我們已經可以啟動kafka-manager了
因為kafka-manager默認的端口就是9000,這個和hdfs的端口有點沖突,如果是測試可以先把hdfs停掉或者是修改一下默認端口
bin/kafka-manager -Dhttp.port=8080 &
當我們看到這個就已經啟動了kafka-manager,我用的是9000的端口,當我使用瀏覽器瀏覽9000端口的時候就出現如下圖,下圖是我創建了倆個測試cluster,如果是開始的話,需要點擊addCluster ,添加監控的節點。
由于一開始我們沒有啟動jmx,所以在添加了cluster的監控節點后看不到生產這個發送給kafka多少消息和消費者consumer接受了多少消息。
所以如果我們想監控到更詳細的消息,我們需要使用jmx工具配合kafka-manager一起使用。
在我們添加jmx工具的時候,我們需要把當前kafka停掉,再修改里邊的配置,然后配置才能啟動才能使用jmx。我們想要使用jmx監控那個kafka就在那個機器上把它的啟動配置添加以下就可以了。
修改kafka的bin目錄中的kafka-run-class.sh 腳本,在大約178行加入如下參數:
然后我們在啟動kafka就可以了,但是在啟動之前我們需要指定jmx的端口,各個broker的端口要不一樣
當我們一開始停止kafka的時候,kafka-manager也會停止,我們再啟動一下kafka-manager。我們在看kafka-manager之前再看一下java自帶的一個工具jconsole也可以配合jmx監控kafka,我們只需cmd命令行輸入jconsole就出現如下圖工具見面
我們使用遠程連接連入進去,用法:hostname:port或者是jmx的控制協議,我們使用hostname:port這種我知道的方式連接一下如下圖所示:
如上可以看到所有關于kafka的信息,在Mbean的地方更可以看到所有使用的的bean的情況
我們再進入到kafka-manager,啟動kafka-manager后我們需要添加一個cluster并使jmx處于enable狀態
然后我們就以看到它接受到字節數和發送出去的字節數
總結
- 上一篇: 腾讯搜搜soso升级之路
- 下一篇: Udacity数据分析(进阶试学)-五王