簡介
如圖 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