KafkaOffsetMonitor監控

介紹

  KafkaOffsetMonitor是有由Kafka開源社區提供的一款Web管理界面,這個應用程序用來實時監控Kafka服務的Consumer以及它們所在的Partition中的Offset,你能夠經過瀏覽當前的消費者組,而且每一個Topic的全部Partition的消費狀況均可以觀看的一清二楚。它讓咱們很直觀的知道,每一個Partition的Message是否消費掉,有木有阻塞等等。java

  這個Web管理平臺保留的Partition、Offset和它的Consumer的相關歷史數據,咱們能夠經過瀏覽Web管理的相關模塊,清楚的知道最近一段時間的消費狀況。app

  該Web管理平臺有如下功能:spa

  1.Consumer的消費監控,並列出每一個ConsumerOffset數據3d

  2.保護消費者組列表信息code

  3.每一個Topic的全部Partition列表包含:TopicPidOffsetLogSizeLag以及Owner等等orm

  4.瀏覽查閱Topic的歷史消費信息blog

下載

  GitHub上面有源碼的jar包,放到對應的目錄就能夠了,因爲咱們使用新版本的kafka,因此也要使用最新的代碼,在kafka中國社區能夠下載最新的0.3的版本。地址:http://pan.baidu.com/s/1kUZJrCV
資源

安裝部署

  KafkaOffsetMonitor的安裝部署較爲簡單,全部的資源都打包到一個JAR文件中了,所以,直接運行便可,省去了咱們去配置。這裏咱們能夠新建一個目錄單獨用於Kafka的監控目錄,我這裏新建一個kafka_monitor文件目錄,而後咱們在準備啓動腳本文檔

腳本內容以下所示:部署

java -cp KafkaOffsetMonitor-assembly-0.3.0-SNAPSHOT.jar                 
  com.quantifind.kafka.offsetapp.OffsetGetterWeb   --offsetStorage kafka   --zk localhost:2181   --port 7070   --refresh 10.seconds   --retain 2.days
 
啓動方式2,建立腳本,由於您可能不是一個kafka集羣。用腳本能夠啓動多個。
nohup java -Xms512M -Xmx512M -Xss1024K -XX:PermSize=256m -XX:MaxPermSize=512m 
    -cp KafkaOffsetMonitor-assembly-0.3.0-SNAPSHOT.jar     
    com.quantifind.kafka.offsetapp.OffsetGetterWeb --offsetStorage kafka --zk 127.0.0.1:2181 --port 8080 --refresh 10.seconds --retain 2.days 1>mobile-logs/stdout.log 2>mobile-logs/stderr.log &

 

各個參數的含義:
  • offsetStorage:有效的選項是"zookeeper","kafka","storm"。0.9版本之後,offset存儲的位置在kafka。
  • zk: zookeeper的地址
  • prot 端口號
  • refresh 刷新頻率,更新到DB。
  • retain 保留DB的時間
  • dbName 在哪裏存儲記錄(默認'offsetapp')

啓動

  • 步驟1:啓動ZK(集羣配置依次啓動)
  • 步驟2:啓動Kafka服務(詳情見kakfa環境搭建文檔)
  • 步驟3:啓動Web監控服務(按照安裝部署腳本執行)

運行

消費組列表

 

 

 

 

 

 

消費組Topic列表

 

 

 

 

 

 

 

 

 

 

 

topic的歷史位置


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Offset存儲位置

  kafka能靈活地管理offset,能夠選擇任意存儲和格式來保存offset。KafkaOffsetMonitor目前支持如下流行的存儲格式。

  • kafka0.8版本之前,offset默認存儲在zookeeper中(基於Zookeeper)
  • kafka0.9版本之後,offset默認存儲在內部的topic中(基於Kafka內部的topic)
  • Storm Kafka Spout(默認狀況下基於Zookeeper)

  KafkaOffsetMonitor每一個運行的實例只能支持單一類型的存儲格式。

相關文章
相關標籤/搜索