[Kafka]Kafka Eagle

目前我使用Kafka-manager 管理公司的kafka cluster,但管理上我覺得有些地方很不方便,

偏偏其中有一點是我個人覺得很重要的,所以昨天就嘗試了Kafka Eagle用來補足Kafka-manager的不足,

另外我也大概玩了KafkaOffsetMonitor(太久沒更新,無法支援kafka 0.10.2.X)和linkedin/kafka-monitor(可支援kafka 0.10.2.X,但太多javascripts錯誤,我改到一半就放棄了)。

Kafka-manager有兩點讓我覺得不方便:

一是無法讓我知道Consumer的狀態,假設我發現某個topic的Lag過大時,

我常常得RDP進入我們的work server確認consumer是否掛了,但我們公司有9個環境共超過20台以上的worker servers,

我可不想搞死自己。

二是角色和權限設計幾乎沒有,目前只有Admin帳號,如果你想開放其他developer允許讀,

或某些資深同事對Topic可讀可寫的管理,Kafka-manager是不管這些的,

其次還有Alert、ZKCLI的支援,下面我簡單紀錄一下如何安裝。

 

download then build binary or download binary direct

note: Kafka Eagle 1.1.8開始support windows platform

 

Preceding:

Install JDK

JAVA_HOME Configure

KE_HOME Configure

need to open jmx port on kafka cluster

need to install mysql and create a database name as ke then run ke.sql

 

#修改 system-config.properties
kafka.eagle.zk.cluster.alias=cluster1
cluster1.zk.list=192.168.137.182:2181,192.168.137.182:2182,192.168.137.182:2183
######################################
kafka.eagle.driver=com.mysql.jdbc.Driver
kafka.eagle.url=jdbc:mysql://127.0.0.1:3306/ke?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull
kafka.eagle.username=root
kafka.eagle.password=XXXX

 

啟動kafka eagle website

ke.bat

open http://localhost:8080/ke

輸入帳號和密碼(參考mysql中ke_users資料表的帳號和密碼資料)

 

先來看看consumer group差異

Kafka-manager顯示consumer資訊有點少且不完整(少status和建立及修改時間)。

 

Kafka Eagle顯示Consumers資訊相當完整

Alarm

Role

User manager

其他功能大家就自行玩玩看摟,另外,如果可以不依賴mysql作為storage place就真的太棒了 ;-)

 

參考

Kafka Eagle

Install

Kafka-manager