轉載原文:http://top.jobbole.com/31084/
通過研究,發現主流的三種kafka監控程序分別為:
- Kafka Web Conslole
- Kafka Manager
- KafkaOffsetMonitor
現在依次介紹以上三種工具:
一、Kafka Web Conslole
使用Kafka Web Console,可以監控:
-
Brokers列表
-
Kafka 集群中 Topic列表,及對應的Partition、LogSiz e等信息
-
點擊Topic,可以瀏覽對應的Consumer Groups、Offset、Lag等信息
- 生產和消費流量圖、消息預覽…
程序運行后,會定時去讀取kafka集群分區的日志長度,讀取完畢后,連接沒有正常釋放,一段時間后產生大量的socket連接,導致網絡堵塞。
二、Kafka Manager
雅虎開源的Kafka集群管理工具:
-
管理幾個不同的集群
-
監控集群的狀態(topics, brokers, 副本分布, 分區分布)
-
產生分區分配(Generate partition assignments)基於集群的當前狀態
- 重新分配分區
三、KafkaOffsetMonitor
-
KafkaOffsetMonitor可以實時監控:
-
Kafka集群狀態
-
Topic、Consumer Group列表
-
圖形化展示topic和consumer之間的關系
-
圖形化展示consumer的Offset、Lag等信息
四、總結
通過使用,個人總結以上三種監控程序的優缺點:
Kafka Web Console:監控功能較為全面,可以預覽消息,監控Offset、Lag等信息,但存在bug,不建議在生產環境中使用。
Kafka Manager:偏向Kafka集群管理,若操作不當,容易導致集群出現故障。對Kafka實時生產和消費消息是通過JMX實現的。沒有記錄Offset、Lag等信息。
KafkaOffsetMonitor:程序一個jar包的形式運行,部署較為方便。只有監控功能,使用起來也較為安全。
若只需要監控功能,推薦使用KafkaOffsetMonito,若偏重Kafka集群管理,推薦使用Kafka Manager。
因為都是開源程序,穩定性欠缺。故需先了解清楚目前已存在哪些Bug,多測試一下,避免出現類似於Kafka Web Console的問題。