1.概述
在開發(fā)工作當中,消費 Kafka 集群中的消息時,數據的變動是我們所關心的,當業(yè)務并不復雜的前提下,我們可以使用 Kafka 提供的命令工具,配合 Zookeeper 客戶端工具,可以很方便的完成我們的工作。隨著業(yè)務的復雜化,Group 和 Topic 的增加,此時我們使用 Kafka 提供的命令工具,已預感到力不從心,這時候 Kafka 的監(jiān)控系統此刻便尤為顯得重要,我們需要觀察消費應用的詳情。 監(jiān)控系統業(yè)界有很多杰出的開源監(jiān)控系統。我們在早期,有使用 KafkaMonitor 和 Kafka Manager 等,不過隨著業(yè)務的快速發(fā)展,以及互聯網公司特有的一些需求,現有的開源的監(jiān)控系統在性能、擴展性、和 DEVS 的使用效率方面,已經無法滿足了。 因此,我們在過去的時間里,從互聯網公司的一些需求出發(fā),從各位 DEVS 的使用經驗和反饋出發(fā),結合業(yè)界的一些開源的 Kafka 消息監(jiān)控,用監(jiān)控的一些思考出發(fā),設計開發(fā)了現在 Kafka 集群消息監(jiān)控系統:Kafka Eagle。
Kafka Eagle 用于監(jiān)控 Kafka 集群中 Topic 被消費的情況。包含 Lag 的產生,Offset 的變動,Partition 的分布,Owner ,Topic 被創(chuàng)建的時間和修改的時間等信息。下載地址如下所示:
2.內容
Kafka Eagle 涉及以下內容模塊:
Dashboard
Topic(Create & List)
Consumers
Cluster Info
2.1 Dashboard
我們通過在瀏覽器中輸入 http://host:port/ke,訪問 Kafka Eagle 的 Dashboard 頁面。該頁面包含以下內容:
Brokers
Topics
Zookeepers
Consumers
Kafka Brokers Graph
展示 Kafka 集群的 Topic 數量,消費者數量,Kafka 的 Brokers 數,以及所屬的 Zookeeper 集群信息。Dashboard 信息展示截圖如下:
2.2 Topic
在 Topic 模塊下,包含創(chuàng)建 Topic 和展示 Topic 信息詳情。
2.2.1 Create
通過創(chuàng)建模塊可以創(chuàng)建一個自定義分區(qū)和備份數的 Topic。如下圖所示: