Kafdrop是Apache Kafka的開源Web UI視覺化介面 - Emil Koutanov
作為訊息傳遞平臺,Kafka無需介紹。自成立以來,它實際上重寫了有關事件流的書,並促進了現在的家庭設計模式的採用-微服務,事件源和CQRS。
作為一個天賜之物,它幾乎以其臭名昭著的缺乏工具而擺脫了。您將很難找到一個曾經沒有看過內建CLI工具。
隨著Kafka的流行,不足為奇的是,幾家商業供應商抓住了通過提供自己的工具將Kafka明顯缺乏工具貨幣化的機會。Kafka Tool,Landoop和KaDeck是一些示例,但是除非您願意付款,否則它們都僅供個人使用。在商業環境中進行任何不平凡的使用都會違反其許可條款。在家裡使用它們進行教程或個人專案是一回事;如果您使用未經適當許可的商業工具,則會使您的僱主面臨訴訟的風險,並在您的職業生涯中玩俄羅斯輪盤賭。
當談到Kafka主題檢視器和Web UI時,首選的開源工具是Kafdrop。在撰寫本文時,有了80萬個Docker拉動,並沒有多少Kafka工具享有這種採用水平。這是有原因的:Kafdrop出色地填補了Kafka的可觀察性工具中的明顯空白,解決了社群已經指出了太久的問題。
Kafdrop是Apache 2.0許可的專案,就像Apache Kafka本身一樣。因此,它不會花費您一分錢。如果您尚未使用過,則可能應該使用。因此,讓我們更深入地瞭解一下。
它能做什麼?
- 檢視Kafka代理 -主題和分割槽分配以及控制器狀態
- 檢視主題 -分割槽數,複製狀態和自定義配置
- 瀏覽訊息 -JSON,純文字和Avro編碼
- 檢視消費者組 -每個分割槽的停放偏移量,合併延遲和每個分割槽滯後
- 建立新主題
- 檢視ACL
Github:https://github.com/obsidiandynamics/kafdrop
這是一個Java(JDK 11)Spring Boot專案,如果已安裝JDK,則可以使用單個Maven命令進行構建。如果您想走這條路,倉庫的README.md檔案將指導您完成這些步驟。現在,讓我們以簡單的方式-Docker。(我肯定會的。)
啟動Kafdrop
Docker映像託管在DockerHub上。影象帶有Kafdrop發行編號標記。該latest標籤指向最新的穩定版本。
要在前臺啟動容器,請執行以下命令:
docker run -it --rm -p 9000:9000 \ -e KAFKA_BROKERCONNECT=<host:port,host:port> \ obsidiandynamics/kafdrop |
AFKA_BROKERCONNECT環境變數必須設定為broker的引導列表。
而已。我們應該啟動並執行。一旦啟動,您可以通過導航到localhost:9000來啟動Kafka Web UI 。
注意:上面的示例假定通過明文TCP套接字進行了身份驗證連線。如果您的群集配置為使用身份驗證和/或傳輸級加密,請參閱的README.md連線選項。實際上,為SASL / SSL鎖定群集配置Kafdrop非常容易。
在Kafka沙箱中執行
沒有執行Kafka broker?別擔心。只需使用以下docker-compose.yaml檔案啟動Kafka + Kafdrop堆疊:
version: "2" services: kafdrop: image: obsidiandynamics/kafdrop restart: "no" ports: - "9000:9000" environment: KAFKA_BROKERCONNECT: "kafka:29092" depends_on: - "kafka" kafka: image: obsidiandynamics/kafka restart: "no" ports: - "2181:2181" - "9092:9092" environment: KAFKA_LISTENERS: "INTERNAL://:29092,EXTERNAL://:9092" KAFKA_ADVERTISED_LISTENERS: "INTERNAL://kafka:29092,EXTERNAL://localhost:9092" KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: "INTERNAL:PLAINTEXT,EXTERNAL:PLAINTEXT" KAFKA_INTER_BROKER_LISTENER_NAME: "INTERNAL" |
現在使用docker-compose up來啟動堆疊。啟動後,瀏覽至localhost:9000。
相關文章
- 經驗分享:Apache Kafka的缺點與陷阱 - Emil KoutanovApacheKafka
- provectus/kafka-ui: 開源Apache Kafka的Web GUI圖形介面管理工具KafkaApacheWebGUI
- Apache Superset是一款視覺化探索大資料的開源新工具 - thenewstackApache視覺化大資料
- Kafka 視覺化監控和管理 UI工具評估Kafka視覺化UI
- kafka視覺化客戶端工具(Kafka Tool)的基本使用Kafka視覺化客戶端
- 形象生動視覺化Kafka工作情景的工具視覺化Kafka
- 什麼是 Apache Kafka?ApacheKafka
- 使用 Apache Superset 視覺化 ClickHouse 資料Apache視覺化
- 開源的資料視覺化平臺 Kibana 日誌視覺化 mac 安裝筆記視覺化Mac筆記
- YOLOv8視覺化介面YOLO視覺化
- Apache Camel與Spring-boot和Kafka的整合開源案例ApacheSpringbootKafka
- 花樣玩轉“所見即所得”的視覺化開發UI視覺化UI
- 瞭解開源視覺化表單的主要優勢視覺化
- 開源線上視覺化流程編輯器視覺化
- Spring Boot與Kafka + kafdrop結合使用的簡單示例Spring BootKafka
- 開源視覺大模型視覺大模型
- Docker使用Portainer搭建視覺化介面DockerAI視覺化
- Django 視覺化Web展示 學習Django視覺化Web
- 4款開源免費的資料視覺化JavaScript庫視覺化JavaScript
- 使用 swagger-ui 視覺化 Kubernetes API 文件SwaggerUI視覺化API
- ubuntu安裝opensips視覺化介面cpUbuntu視覺化
- YApi視覺化介面管理平臺部署API視覺化
- 視覺化介面編輯器設計視覺化
- 利用開源視覺化報表工具進入流程化辦公!視覺化
- Golang 資料視覺化利器 go-echarts 開源啦Golang視覺化Echarts
- 【Urule原始碼解析1】開源視覺化規則引擎原始碼視覺化
- SpringBoot整合超好用的API視覺化介面工具swaggerSpring BootAPI視覺化Swagger
- [開源] Gio.js — 一個基於 Three.js 的 Web3D 地球資料視覺化庫JSWeb3D視覺化
- [開源]Gio.js–一個基於Three.js的Web3D地球資料視覺化庫JSWeb3D視覺化
- [開源] Gio.js -- 一個基於 Three.js 的 Web3D 地球資料視覺化庫JSWeb3D視覺化
- MyEclipse的html頁面 design檢視中 關閉視覺化介面EclipseHTML視覺化
- Victroncms視覺化建站的流程是怎樣的?視覺化
- 什麼是資料視覺化?視覺化
- 工業領域Web組態視覺化開發工具軟體Web視覺化
- 什麼是資料視覺化,為什麼資料視覺化很重要?視覺化
- 什麼是資料視覺化?hightopo資料視覺化助力企業數字化視覺化
- 視覺化自定義表單開源的突出優勢表現在哪裡?視覺化
- 阿里雲伺服器Ubuntu 建立視覺化介面阿里伺服器Ubuntu視覺化