目前我使用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
輸入帳號和密碼(參考mysql中ke_users資料表的帳號和密碼資料)
先來看看consumer group差異
Kafka-manager顯示consumer資訊有點少且不完整(少status和建立及修改時間)。
Kafka Eagle顯示Consumers資訊相當完整
Alarm
Role
User manager
其他功能大家就自行玩玩看摟,另外,如果可以不依賴mysql作為storage place就真的太棒了 ;-)
參考