參照site:https://github.com/quantifind/KafkaOffsetMonitor
一、簡述
這個應用程序用來實時監控Kafka服務的Consumer以及它們所在的Partition中的Offset,我們可以瀏覽當前的消費者組,並且每個Topic的所有Partition的消費情況都可以觀看的一清二楚。
它讓我們很直觀的知道,每個Partition的Message是否消費掉,有沒有阻塞等等。
這個Web管理平台保留的Partition、Offset和它的Consumer的相關歷史數據,我們可以通過瀏覽Web管理的相關模塊,清楚的知道最近一段時間的消費情況。
二、下載
Here 是github提供的下載地址,經測試不能友好運行,后來查閱才知道這個jar包中有谷歌的超鏈接。
我將前輩編譯過后的jar已存入盤,方便使用。下載地址
(如果你會編譯修改,請不吝賜教!謝謝!!!)
三、安裝
KafkaOffsetMonitor的安裝部署較為簡單,所有的資源都打包到一個JAR文件中了,因此,直接運行即可,省去了我們去配置。這里我們可以新建一個目錄單獨用於Kafka的監控目錄,
我這里新建一個kafka_monitor文件目錄,然后我們在准備啟動腳本,腳本內容如下所示:
#! /bin/bash
java -cp KafkaOffsetMonitor-assembly-0.2.0.jar \
com.quantifind.kafka.offsetapp.OffsetGetterWeb \
--zk h1:2181 \
--port 8089 \
--refresh 10.seconds \
--retain 1.days
解釋以下這條啟動命令的含義,首先我們需要指明運行Web監控的類,然后需要用到ZooKeeper,所有要填寫ZK集群信息,接着是Web運行端口,頁面數據刷新的時間以及保留數據的時間值
四、啟動
1.啟動zookeeper:
> bin/zkServer.sh start
2.啟動kafka:
> bin/kafka-server-start.sh config/server.properties
3.啟動web監控:
> sh monitor_start.sh
五、KafkaOffsetMonitor運行預覽
本人是通過遠程登錄Linux系統查看的。登錄方式 參考我之前寫的 《使用XRDP實現Windows遠程桌面Linux系統》
消費組:
topic的所有partiton消費情況列表、
以上圖中參數含義解釋如下:
topic:創建時topic名稱
partition:分區編號
offset:表示該parition已經消費了多少條message
logSize:表示該partition已經寫了多少條message
Lag:表示有多少條message沒有被消費。
Owner:表示消費者
Created:該partition創建時間
Last Seen:消費狀態刷新最新時間。
kafka正在運行的topic
kafka集群topic列表
kafka集群broker列表