轉(zhuǎn)自:http://top.jobbole.com/31084/
在之前的博客中,介紹了Kafka Web Console這個監(jiān)控工具,在生產(chǎn)環(huán)境中使用,運行一段時間后,發(fā)現(xiàn)該工具會和Kafka生產(chǎn)者翻具、消費者、ZooKeeper建立大量連接回还,從而導(dǎo)致網(wǎng)絡(luò)阻塞裆泳。并且這個Bug也在其他使用者中出現(xiàn)過,看來使用開源工具要慎重柠硕!該Bug暫未得到修復(fù)工禾,不得已,只能研究下其他同類的Kafka監(jiān)控軟件蝗柔。
通過研究闻葵,發(fā)現(xiàn)主流的三種kafka監(jiān)控程序分別為:
Kafka Web Conslole
Kafka Manager
KafkaOffsetMonitor
現(xiàn)在依次介紹以上三種工具:
Kafka Web Conslole
使用Kafka Web Console,可以監(jiān)控:
Brokers列表
Kafka 集群中 Topic列表癣丧,及對應(yīng)的Partition槽畔、LogSiz e等信息
點擊Topic,可以瀏覽對應(yīng)的Consumer Groups胁编、Offset厢钧、Lag等信息
生產(chǎn)和消費流量圖鳞尔、消息預(yù)覽…
程序運行后,會定時去讀取kafka集群分區(qū)的日志長度早直,讀取完畢后寥假,連接沒有正常釋放,一段時間后產(chǎn)生大量的socket連接霞扬,導(dǎo)致網(wǎng)絡(luò)堵塞糕韧。
Kafka Manager
雅虎開源的Kafka集群管理工具:
管理幾個不同的集群
監(jiān)控集群的狀態(tài)(topics, brokers, 副本分布, 分區(qū)分布)
產(chǎn)生分區(qū)分配(Generate partition assignments)基于集群的當(dāng)前狀態(tài)
重新分配分區(qū)
KafkaOffsetMonitor
KafkaOffsetMonitor可以實時監(jiān)控:
Kafka集群狀態(tài)
Topic、Consumer Group列表
圖形化展示topic和consumer之間的關(guān)系
圖形化展示consumer的Offset祥得、Lag等信息
總結(jié)
通過使用,個人總結(jié)以上三種監(jiān)控程序的優(yōu)缺點:
Kafka Web Console:監(jiān)控功能較為全面蒋得,可以預(yù)覽消息级及,監(jiān)控Offset、Lag等信息额衙,但存在bug饮焦,不建議在生產(chǎn)環(huán)境中使用。
Kafka Manager:偏向Kafka集群管理窍侧,若操作不當(dāng)县踢,容易導(dǎo)致集群出現(xiàn)故障。對Kafka實時生產(chǎn)和消費消息是通過JMX實現(xiàn)的伟件。沒有記錄Offset硼啤、Lag等信息。
KafkaOffsetMonitor:程序一個jar包的形式運行斧账,部署較為方便谴返。只有監(jiān)控功能,使用起來也較為安全咧织。
若只需要監(jiān)控功能嗓袱,推薦使用KafkaOffsetMonito,若偏重Kafka集群管理习绢,推薦使用Kafka Manager渠抹。
因為都是開源程序,穩(wěn)定性欠缺闪萄。故需先了解清楚目前已存在哪些Bug梧却,多測試一下,避免出現(xiàn)類似于Kafka Web Console的問題败去。