Kafka-eagle-web
Kafka-eagle 用於監控 Kafka 集群中 Topic 被消費的情況。
包含 Lag 的產生,Offset 的變動,Partition 的分布,Owner ,Topic 被創建的時間和修改的時間等信息。
下載地址:
http://download.kafka-eagle.org/ Github:https://github.com/smartloli/kafka-eagle 官方的安裝文檔:http://www.kafka-eagle.org/articles/docs/installation/linux-macos.html
環境變量
# 根據實際配置目錄設置
vi /etc/profile export KE_HOME=/opt/server/kafka-eagle-web export PATH=$PATH:$KE_HOME/bin
配置示例:
配置文件 system-config.properties
vim conf/system-config.properties
######################################
# multi zookeeper & kafka cluster list # kafka.eagle.zk.cluster.alias=cluster1,cluster2 # 只配置了一個集群節點,多集群安裝示例多配置 kafka.eagle.zk.cluster.alias=cluster1 cluster1.zk.list=172.16.2.110:2181,172.16.2.111:2181,172.16.2.112:2181 ###################################### # zookeeper enable acl # acl 沒有開啟就關閉了 ###################################### # broker size online list cluster1.kafka.eagle.broker.size=20 ###################################### # zk client thread limit # 設置 Zk 客戶端線程 kafka.zk.limit.size=25 ###################################### # kafka eagle webui port # 設置Kafka Eagle瀏覽器訪問端口 ###################################### kafka.eagle.webui.port=8048 ###################################### # kafka offset storage # 如果offsets存儲在Kafka中,屬性值為kafka就默認設置; cluster1.kafka.eagle.offset.storage=kafka # cluster2.kafka.eagle.offset.storage=zk ###################################### # kafka metrics, 15 days by default # 監控趨勢圖,需要kafka開啟JMX端口 kafka.eagle.metrics.charts=true kafka.eagle.metrics.retain=15 ###################################### # kafka sql topic records max # topic 記錄數 kafka.eagle.sql.topic.records.max=5000 kafka.eagle.sql.fix.error=true ###################################### # delete kafka topic token # 超級管理員刪除主題的Token kafka.eagle.topic.token=keadmin ###################################### # kafka sasl authenticate # kafka ssl authenticate # kakfa sasl認證 默認配置都沒有開啟 ####################################### ###################################### # kafka sqlite jdbc driver address # kafka默認使用sqlite數據庫 kafka.eagle.driver=org.sqlite.JDBC kafka.eagle.url=jdbc:sqlite:/opt/services/kafka-eagle-web/db/ke.db kafka.eagle.username=root kafka.eagle.password=www.kafka-eagle.org ###################################### # kafka mysql jdbc driver address ###################################### #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=123456
啟動方式:
./bin/ke.sh {start|stop|restart|status|stats|find|gc|jdk|version|sdate}
ke.sh start 啟動Kafka Eagle系統
ke.sh stop 停止Kafka Eagle系統
ke.sh restart 重啟Kafka Eagle系統
ke.sh status 查看Kafka Eagle系統運行狀態
ke.sh stats 統計Kafka Eagle系統占用Linux資源情況
ke.sh find [ClassName] 查看Kafka Eagle系統中的類是否存在
啟動 ./ke.sh start 會進行初始化;web 訪問:
http:// ip:port
賬戶:amdin 密碼:123465
監控趨勢圖
Kafka系統默認是沒有開啟JMX端口的,所以Kafka Eagle的監控趨勢圖默認采用不啟用的方式,即kafka.eagle.metrics.charts=false。
如果需要查看監控趨勢圖,需要開啟Kafka系統的JMX端口,設置該端口在$KAFKA_HOME/bin/kafka-server-start.sh腳本中
Kafka Eagle系統會自動獲取這個JMX端口。
vim kafka/bin/kafka-server-start.sh if [ "x$KAFKA_HEAP_OPTS" = "x" ]; then export KAFKA_HEAP_OPTS="-Xmx2G -Xms2G"
# 監控趨勢圖,需要kafka開啟JMX端口
# export KAFKA_HEAP_OPTS="-server -Xms2G -Xmx2G -XX:PermSize=128m -XX:+UseG1GC -XX:MaxGCPauseMillis=200 -XX:ParallelGCThreads=8 -XX:ConcGCThreads=5 -XX:InitiatingHeapOccupancyPercent=70" # export JMX_PORT="9999" fi