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