加米谷:Kafka OffsetMonitor:監控消費者和延遲的隊列
screenshot 消費組的topic列表
screenshot 圖中參數含義解釋如下: topic:創建時topic名稱 partition:分區編號 offset:表示該parition已經消費了多少條message logSize:表示該partition已經寫了多少條message Lag:表示有多少條message沒有被消費。 Owner:表示消費者 Created:該partition創建時間 Last Seen:消費狀態刷新最新時間。 topic的歷史位置
screenshot Offset存儲位置 kafka能靈活地管理offset,可以選擇任意存儲和格式來保存offset。KafkaOffsetMonitor目前支持以下流行的存儲格 式。 kafka0.8版本以前,offset默認存儲在zookeeper中(基於Zookeeper) kafka0.9版本以後,offset默認存儲在內部的topic中(基於Kafka內部的topic) Storm Kafka Spout(默認情況下基於Zookeeper) KafkaOffsetMonitor每個運行的實例只能支持單一類型的存儲格式。 下載 可以到github下載KafkaOffsetMonitor源碼。 https://github.com/quantifind/KafkaOffsetMonitor 編譯KafkaOffsetMonitor命令: sbt/sbt assembly 不過不建議你自己去下載,因為編譯的jar包裏引入的都是外部的css和js,所以打開必須聯網,都是國外的地址,你編 譯的時候還要修改js路徑,我已經搞定了,你直接下載就好了。
啟動 編譯完之後,將會在KafkaOffsetMonitor根目錄下生成一個類似KafkaOffsetMonitor-assembly-0.3.0- SNAPSHOT.jar的jar文件。這個文件包含了所有的依賴,我們可以直接啟動它: java -cp KafkaOffsetMonitor-assembly-0.3.0-SNAPSHOT.jar \ com.quantifind.kafka.offsetapp.OffsetGetterWeb \ --offsetStorage kafka \ --zk zk-server1,zk-server2 \ --port 8080 \ --refresh 10.seconds \ --retain 2.days 啟動方式2,創建腳本,因為您可能不是一個kafka集群。用腳本可以啟動多個。 vim mobile_start_en.sh 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').
加米谷:Kafka OffsetMonitor:監控消費者和延遲的隊列