Kafka實戰-KafkaOffsetMonitor
1.概述
前面給大家介紹了Kafka的背景以及一些應用場景,並附帶上演示了Kafka的簡單示例。然後,在開發的過程當中,我們會發現一些問題,那就是訊息的監控情況。雖然,在啟動Kafka的相關服務後,我們生產訊息和消費訊息會在終端控制檯顯示這些記錄資訊,但是,這樣始終不夠友好,而且,在實際開發中,我們不會有許可權去一直觀看終端控制檯,那麼今天就為大家來介紹Kafka的一個監控系統——KafkaOffsetMonitor。下面是今天所分享的目錄內容:
- KafkaOffsetMonitor簡述
- KafkaOffsetMonitor安裝部署
- KafkaOffsetMonitor執行預覽
下面開始今天的內容分享。
2.KafkaOffsetMonitor簡述
KafkaOffsetMonitor是有由Kafka開源社群提供的一款Web管理介面,這個應用程式用來實時監控Kafka服務的Consumer以及它們所在的Partition中的Offset,你可以通過瀏覽當前的消費者組,並且每個Topic的所有Partition的消費情況都可以觀看的一清二楚。它讓我們很直觀的知道,每個Partition的Message是否消費掉,有木有阻塞等等。
這個Web管理平臺保留的Partition、Offset和它的Consumer的相關歷史資料,我們可以通過瀏覽Web管理的相關模組,清楚的知道最近一段時間的消費情況。
該Web管理平臺有以下功能:
- 對Consumer的消費監控,並列出每個Consumer的Offset資料
- 保護消費者組列表資訊
- 每個Topic的所有Partition列表包含:Topic、Pid、Offset、LogSize、Lag以及Owner等等
- 瀏覽查閱Topic的歷史消費資訊
這些功能對於我們開發來說,已經綽綽有餘了。
3.KafkaOffsetMonitor安裝部署
3.1下載
在安裝KafkaOffsetMonitor管理平臺時,我們需要先下載其安裝包,其資源可以在Github上找到,考慮到Github訪問的限制問題,我將安裝包上傳到百度雲盤:
《下載地址》
3.2安裝部署
KafkaOffsetMonitor的安裝部署較為簡單,所有的資源都打包到一個JAR檔案中了,因此,直接執行即可,省去了我們去配置。這裡我們可以新建一個目錄單獨用於Kafka的監控目錄,我這裡新建一個kafka_monitor檔案目錄,然後我們在準備啟動指令碼,指令碼內容如下所示:
#! /bin/bash java -cp KafkaOffsetMonitor-assembly-0.2.0.jar \ com.quantifind.kafka.offsetapp.OffsetGetterWeb \ --zk dn1:2181,dn2:2181,dn3:2181 \ --port 8089 \ --refresh 10.seconds \ --retain 1.days
給大家解釋以下這條啟動命令的含義,首先我們需要指明執行Web監控的類,然後需要用到ZooKeeper,所有要填寫ZK叢集資訊,接著是Web執行埠,頁面資料重新整理的時間以及保留資料的時間值。
3.3啟動
接下來,我們開始啟動,啟動步驟如下所示:
- 步驟1:啟動ZK(DN1~DN3節點)
zkServer.sh start
- 步驟2:啟動Kafka服務(叢集依次輸入以下命令啟動)
kafka-server-start.sh config/server.properties &
- 步驟3:啟動Web監控服務
java -cp KafkaOffsetMonitor-assembly-0.2.0.jar \ com.quantifind.kafka.offsetapp.OffsetGetterWeb \ --zk dn1:2181,dn2:2181,dn3:2181 \ --port 8089 \ --refresh 10.seconds \ --retain 1.days
Web服務啟動成功後,如下圖所示:
4.KafkaOffsetMonitor執行預覽
下面,我們來使用Kafka程式碼生產消費一些訊息,使用Web監控來瀏覽訊息情況。生產的程式碼大家可以參考前面我寫的《Kafka實戰-簡單示例》,這裡直接預覽演示結果,如下圖所示:
5.總結
在執行KafkaOffsetMonitor的JAR包時,需要確保啟動引數的配置正確,以免啟動出錯,另外,Github的上的KafkaOffsetMonitor的JAR中的靜態資源有些連結用到了Google的超連結,所有如果直接只用,若本地木有代理軟體會啟動出錯,這裡使用我所提供的JAR,這個JAR是經過靜態資源改版後重新編譯的使用本地靜態資源。
另外圖中的一些引數的含義如下:
- Topic:建立Topic名稱
- Partition:分割槽編號
- Offset:表示該Parition已經消費了多少Message
- LogSize:表示該Partition生產了多少Message
- Lag:表示有多少條Message未被消費
- Owner:表示消費者
- Created:表示該Partition建立時間
- Last Seen:表示消費狀態重新整理最新時間
6.結束語
這篇部落格就和大家分享到這裡,如果大家在研究學習的過程當中有什麼問題,可以加群進行討論或傳送郵件給我,我會盡我所能為您解答,與君共勉!
轉載:http://www.cnblogs.com/Leo_wl/p/4564699.html
相關文章
- apache kafka監控系列-KafkaOffsetMonitorApacheKafka
- Apache Kafka監控之KafkaOffsetMonitorApacheKafka
- Zookeeper叢集 + Kafka叢集 + KafkaOffsetMonitor 監控薦Kafka
- Kafka實戰-Kafka ClusterKafka
- Kafka實戰-Flume到KafkaKafka
- Kafka實戰-Kafka到StormKafkaORM
- Kafka 原理和實戰Kafka
- kafka實戰教學Kafka
- Kafka實戰-入門Kafka
- Kafka實戰-Storm ClusterKafkaORM
- 實戰Kafka ACL機制Kafka
- Kafka實戰-簡單示例Kafka
- Kafka實戰(三) - Kafka的自我修養與定位Kafka
- Apache Kafka 程式設計實戰ApacheKafka程式設計
- Kafka萬億級訊息實戰Kafka
- Kafka 分割槽備份實戰Kafka
- Kafka實戰-資料持久化Kafka持久化
- Kafka應用實戰——Kafka安裝及簡單使用Kafka
- Kafka上K8S實戰KafkaK8S
- SpringBoot整合kafka全面實戰Spring BootKafka
- KubeSphere 部署 Kafka 叢集實戰指南Kafka
- Flink-Kafka-Connector Flink結合Kafka實戰Kafka
- Kafka實戰-實時日誌統計流程Kafka
- kafka生產環境規劃-kafka 商業環境實戰Kafka
- Flink的sink實戰之二:kafkaKafka
- Kafka實戰寶典:Kafka的控制器controller詳解KafkaController
- Knative 實戰:基於 Kafka 實現訊息推送Kafka
- 阿里大牛實戰歸納——Kafka架構原理阿里Kafka架構
- kafka rebalance 機制與Consumer多種消費模式案例應用實戰-kafka 商業環境實戰Kafka模式
- Reactive Spring實戰 -- 響應式Kafka互動ReactSpringKafka
- HBase2實戰:HBase Flink和Kafka整合Kafka
- 《Kafka實戰》之架構和設計邏輯Kafka架構
- SpringBoot整合Kafka的實戰用法大全Spring BootKafka
- kafka叢集管理重要操作指令運維兵書-kafka 商業環境實戰Kafka運維
- 遲來的乾貨 | Kafka許可權管理實戰Kafka
- kafka日誌索引儲存及Compact壓實機制深入剖析-kafka 商業環境實戰Kafka索引
- Kafka核心技術與實戰-胡夕-極客時間Kafka
- kafka精確一次語義EOS的原理深入剖析-kafka 商業環境實戰Kafka