Kafka 消息監控 - Kafka Eagle

1.概述

  在開發工做當中,消費 Kafka 集羣中的消息時,數據的變更是咱們所關心的,當業務並不複雜的前提下,咱們可使用 Kafka 提供的命令工具,配合 Zookeeper 客戶端工具,能夠很方便的完成咱們的工做。隨着業務的複雜化,Group 和 Topic 的增長,此時咱們使用 Kafka 提供的命令工具,已預感到力不從心,這時候 Kafka 的監控系統此刻便尤其顯得重要,咱們須要觀察消費應用的詳情。 監控系統業界有不少傑出的開源監控系統。咱們在早期,有使用 KafkaMonitor 和 Kafka Manager 等,不過隨着業務的快速發展,以及互聯網公司特有的一些需求,現有的開源的監控系統在性能、擴展性、和 DEVS 的使用效率方面,已經沒法知足了。 所以,咱們在過去的時間裏,從互聯網公司的一些需求出發,從各位 DEVS 的使用經驗和反饋出發,結合業界的一些開源的 Kafka 消息監控,用監控的一些思考出發,設計開發瞭如今 Kafka 集羣消息監控系統:Kafka Eagle。git

  Kafka Eagle 用於監控 Kafka 集羣中 Topic 被消費的狀況。包含 Lag 的產生,Offset 的變更,Partition 的分佈,Owner ,Topic 被建立的時間和修改的時間等信息。下載地址以下所示:github

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 模塊下,包含建立 Topic 和展現 Topic 信息詳情。學習

2.2.1 Create

  經過建立模塊能夠建立一個自定義分區和備份數的 Topic。以下圖所示:設計

2.2.2 List

  該模塊下列出 Kafka 集羣中全部的 Topic,包含 Topic 的分區數,建立時間以及修改時間,以下圖所示:blog

  上圖中,每個 Topic 名稱對應一個詳情的超連接,經過該連接能夠查看該 Topic 的詳情,如:分區索引號,Leader,Replicas 和 Isr,以下圖所示所示:索引

2.3 Consumers

  該模塊顯示有消費記錄的 Topic 信息,其中包含以下內容:開發

  • Running
  • Pending
  • Active Topic Graph
  • Offsets Rate Graph

2.4 Cluster Info

  該模塊顯示 Kafka 集羣信息和 Zookeeper 集羣信息,包含以下內容:

  • Kafka Broker Host & IP
  • Kafka Broker Created & Modify Date
  • Zookeeper Host & IP

3.數據採集

  Kafka Eagel 監控的消息數據源,來自於 Zookeeper。因爲建立,修改或是消費 Kafka 的消息,都會在 Zookeeper 中進行註冊,咱們能夠從中獲取數據的變更,例如:Topic,Brokers,Partitions 以及 Group 等,Kafka 在 Zookeeper 的結構存儲,以下圖所示: 

4.總結

   Kafka Eagle 的安裝使用很簡單,下載安裝,配置好 Kafka 集羣所屬的 Zookeeper 集羣地址便可,安裝部署文檔地址以下:

5.結束語

  這篇博客就和你們分享到這裏,若是你們在研究學習的過程中有什麼問題,能夠加羣進行討論或發送郵件給我,我會盡我所能爲您解答,與君共勉!

相關文章
相關標籤/搜索