1. 程式人生 > >Kafka三款監控工具比較(轉)

Kafka三款監控工具比較(轉)

在之前的部落格中,介紹了Kafka Web Console這 個監控工具,在生產環境中使用,執行一段時間後,發現該工具會和Kafka生產者、消費者、ZooKeeper建立大量連線,從而導致網路阻塞。並且這個 Bug也在其他使用者中出現過,看來使用開源工具要慎重!該Bug暫未得到修復,不得已,只能研究下其他同類的Kafka監控軟體。

通過研究,發現主流的三種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三款監控工具比較

程式執行後,會定時去讀取kafka叢集分割槽的日誌長度,讀取完畢後,連線沒有正常釋放,一段時間後產生大量的socket連線,導致網路堵塞。

Kafka Manager

雅虎開源的Kafka叢集管理工具:

  • 管理幾個不同的叢集

  • 監控叢集的狀態(topics, brokers, 副本分佈, 分割槽分佈)

  • 產生分割槽分配(Generate partition assignments)基於叢集的當前狀態

  • 重新分配分割槽

Kafka三款監控工具比較

KafkaOffsetMonitor

  • KafkaOffsetMonitor可以實時監控:

  • Kafka叢集狀態

  • Topic、Consumer Group列表

  • 圖形化展示topic和consumer之間的關係

  • 圖形化展示consumer的Offset、Lag等資訊

    Kafka三款監控工具比較


總結

通過使用,個人總結以上三種監控程式的優缺點:

Kafka Web Console:監控功能較為全面,可以預覽訊息,監控Offset、Lag等資訊,但存在bug,不建議在生產環境中使用。

Kafka Manager:偏向Kafka叢集管理,若操作不當,容易導致叢集出現故障。對Kafka實時生產和消費訊息是通過JMX實現的。沒有記錄Offset、Lag等資訊。

KafkaOffsetMonitor:程式一個jar包的形式執行,部署較為方便。只有監控功能,使用起來也較為安全。

若只需要監控功能,推薦使用KafkaOffsetMonito,若偏重Kafka叢集管理,推薦使用Kafka Manager。

因為都是開源程式,穩定性欠缺。故需先了解清楚目前已存在哪些Bug,多測試一下,避免出現類似於Kafka Web Console的問題。

原創文章,轉載請註明:
轉載自藍色天堂部落格,本文連結地址:http://hadoop1989.com/2015/09/22/Kafka-Monitor_Compare/