簡介
如圖 kafka eagle 是可視化的 kafka 監視系統,用於監控 kafka 集群
環境准備:
- 需要的內存:
1.5G+
- 支持的 kafka 版本:
0.8.2.x
,0.9.x
,0.10.x
,0.11.x
,1.x
,2.x
- 支持的操作系統:
Mac OS X
,Linux
,Windows
- 支持的 JDK 版本:
JDK8+
下載地址
下載監控軟件,官方 GITHUB 下載,非常非常慢,但是可以下載任意版本,只需要修改最后的 v1.3.7 到想要的版本
https://codeload.github.com/smartloli/kafka-eagle-bin/tar.gz/v1.3.7
藍奏雲極速下載(v1.3.7):
https://keats.lanzous.com/iPuztehkbpc
配置 kafka
更改 kafka 安裝目錄 /bin 目錄 下 kafka-server-start.sh 的這一段 $KAFKA_HEAP_OPTS
里面的內容,提供 jmx 連接端口。KAFKA_HEAP_OPTS JVM的參數可以根據自己服務器的性能進行調大(不建議調小,再小就起不來了)
if [ "x$KAFKA_HEAP_OPTS" = "x" ]; then
export KAFKA_HEAP_OPTS="-server -Xms1G -Xmx1G -XX:PermSize=128m -XX:+UseG1GC -XX:MaxGCPauseMillis=200 -XX:ParallelGCThreads=8 -XX:ConcGCThreads=5 -XX:InitiatingHeapOccupancyPercent=70"
export JMX_PORT="9999"
# export KAFKA_HEAP_OPTS="-Xmx1G -Xms1G"
fi
安裝 eagle
解壓安裝文件
復制下載好的 kafka-eagle-bin-1.3.7.tar.gz
到 /home/kafka
目錄,解壓
tar -zxvf kafka-eagle-bin-1.3.7.tar.gz
將解壓出來的壓縮包繼續解壓
tar -zxvf kafka-eagle-web-1.3.7-bin.tar.gz
移動文件
mv kafka-eagle-web-1.3.7 /home/kafka/eagle
配置環境變量
sudo vi /etc/profile
- 確定 JAVA_HOME 環境變量已經配置
- 在最后面加上以下兩行 kafka eagle 的環境變量
export KE_HOME=/home/kafka/eagle
export PATH=$PATH:$KE_HOME/bin
刷新 profile
如果很不幸,環境變量沒寫對導致 path 變量無效,大部分命令都失效的話,參考這里:關於錯誤修改了/etc/profile文件(環境變量錯誤)
source /etc/profile
切換到 bin 目錄,為 eagle 的啟動腳本添加可執行權限
chmod 777 ke.sh
修改 eagle 的配置文件
切換到 conf 目錄,修改配置文件 system-config.properties
首先可以看出 eagle 兼容多套 kafka 集群,可以按需進行增加 / 刪除
######################################
# multi zookeeper&kafka cluster list
######################################
kafka.eagle.zk.cluster.alias=cluster1,cluster2
cluster1.zk.list=tdn1:2181,tdn2:2181,tdn3:2181
cluster2.zk.list=xdn10:2181,xdn11:2181,xdn12:2181
我這邊是單個集群、集群中只有單節點 kafka 和 zk。這里需要注意:當 eagle 和 zk 在一個局域網的不同阿里雲服務器時建議使用局域網IP來配置 zk 地址,如果配公網地址會報域名解析異常導致頁面沒數據
kafka.eagle.zk.cluster.alias=cluster1
cluster1.zk.list=localhost:2181
端口號,如果端口被占用可以修改
######################################
# kafka eagle webui port
######################################
kafka.eagle.webui.port=8094
0.9 版本之前消費者偏移量存儲在 zk、之后存儲在 kafka。依據 kafka 版本來配置 value 。如果是低版本 kafka 值取 zookeeper 而非提供的 zk
######################################
# kafka offset storage
######################################
cluster1.kafka.eagle.offset.storage=kafka
kafka.eagle.metrics.charts 是否生成圖表展示在頁面,默認關閉,建議開啟
######################################
# enable kafka metrics
######################################
kafka.eagle.metrics.charts=true
配置數據庫,以 MySQL 為例。配置好庫名之后,表結構會自動創建,數據庫我是自己創建的空庫,不知道會不會自動創建庫。后續可以通過頁面 / 直接修改 ke_user 表來修改管理員的賬號和密碼
######################################
# kafka jdbc driver address
######################################
kafka.eagle.driver=com.mysql.jdbc.Driver
kafka.eagle.url=jdbc:mysql://localhost:3306/ke?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull
kafka.eagle.username=root
kafka.eagle.password=xxx
啟動
需要注意:啟動 eagle 需要服務器至少 1.5 G 的可用內存。如果可用內存不足,雖然會顯示啟動成功的頁面。但是輸入 ./ke.sh status 會發現服務狀態為未啟動。此時 ke 會生成如下圖的錯誤日志
別的啟動錯誤,可以查看 kms/logs 下面的 catalina.out,java 的錯誤大家應該都很熟悉我就不多說了
啟動之后訪問 host:port/ke 即可訪問 eagle 控制台,登錄賬號 admin,密碼 123456