Kafka Eagle 是一款开源的 Kafka 集群监控系统。
一、下载
https://download.kafka-eagle.org/
二、安装
# 解压
tar -zxf /opt/kafka-eagle-bin-1.3..tar.gz -C /opt/
tar -zxf /opt/kafka-eagle-bin-1.3./kafka-eagle-web-1.3.-bin.tar.gz -C /opt/ # 配置
vim /opt/kafka-eagle-web-1.3./conf/system-config.properties
######################################
# 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 ######################################
# zk client thread limit
######################################
kafka.zk.limit.size=25 ######################################
# kafka eagle webui port
######################################
kafka.eagle.webui.port=8048 ######################################
# kafka offset storage
######################################
cluster1.kafka.eagle.offset.storage=kafka
cluster2.kafka.eagle.offset.storage=zk ######################################
# enable kafka metrics
######################################
kafka.eagle.metrics.charts=false
kafka.eagle.sql.fix.error=false ######################################
# kafka sql topic records max
######################################
kafka.eagle.sql.topic.records.max=5000 ######################################
# alarm email configure
######################################
kafka.eagle.mail.enable=false
[email protected]
[email protected]
kafka.eagle.mail.password=mqslimczkdqabbbh
kafka.eagle.mail.server.host=smtp.163.com
kafka.eagle.mail.server.port=25 ######################################
# alarm im configure
######################################
#kafka.eagle.im.dingding.enable=true
#kafka.eagle.im.dingding.url=https://oapi.dingtalk.com/robot/send?access_token= #kafka.eagle.im.wechat.enable=true
#kafka.eagle.im.wechat.token=https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=xxx&corpsecret=xxx
#kafka.eagle.im.wechat.url=https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=
#kafka.eagle.im.wechat.touser=
#kafka.eagle.im.wechat.toparty=
#kafka.eagle.im.wechat.totag=
#kafka.eagle.im.wechat.agentid= ######################################
# delete kafka topic token
######################################
kafka.eagle.topic.token=keadmin ######################################
# kafka sasl authenticate
######################################
cluster1.kafka.eagle.sasl.enable=false
cluster1.kafka.eagle.sasl.protocol=SASL_PLAINTEXT
cluster1.kafka.eagle.sasl.mechanism=PLAIN
cluster1.kafka.eagle.sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username="admin" password="kafka-eagle"; cluster2.kafka.eagle.sasl.enable=false
cluster2.kafka.eagle.sasl.protocol=SASL_PLAINTEXT
cluster2.kafka.eagle.sasl.mechanism=PLAIN
cluster2.kafka.eagle.sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username="admin" password="kafka-eagle"; ######################################
# kafka jdbc driver address
######################################
kafka.eagle.driver=org.sqlite.JDBC
kafka.eagle.url=jdbc:sqlite:/hadoop/kafka-eagle/db/ke.db
kafka.eagle.username=root
kafka.eagle.password=www.kafka-eagle.org
通常改:zookeeper 集群地址、默认 sqlite 的地址
######################################
# multi zookeeper&kafka cluster list
######################################
kafka.eagle.zk.cluster.alias=cluster1
cluster1.zk.list=h136:2181,h138:2181,h140:2181 ######################################
# zk client thread limit
######################################
kafka.zk.limit.size=25 ######################################
# kafka eagle webui port
######################################
kafka.eagle.webui.port=8048 ######################################
# kafka offset storage
######################################
cluster1.kafka.eagle.offset.storage=kafka ######################################
# enable kafka metrics
######################################
kafka.eagle.metrics.charts=false
kafka.eagle.sql.fix.error=false ######################################
# kafka sql topic records max
######################################
kafka.eagle.sql.topic.records.max=5000 ######################################
# alarm email configure
######################################
kafka.eagle.mail.enable=false
[email protected]
[email protected]
kafka.eagle.mail.password=mqslimczkdqabbbh
kafka.eagle.mail.server.host=smtp.163.com
kafka.eagle.mail.server.port=25 ######################################
# alarm im configure
######################################
#kafka.eagle.im.dingding.enable=true
#kafka.eagle.im.dingding.url=https://oapi.dingtalk.com/robot/send?access_token= #kafka.eagle.im.wechat.enable=true
#kafka.eagle.im.wechat.token=https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=xxx&corpsecret=xxx
#kafka.eagle.im.wechat.url=https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=
#kafka.eagle.im.wechat.touser=
#kafka.eagle.im.wechat.toparty=
#kafka.eagle.im.wechat.totag=
#kafka.eagle.im.wechat.agentid= ######################################
# delete kafka topic token
######################################
kafka.eagle.topic.token=keadmin ######################################
# kafka sasl authenticate
######################################
cluster1.kafka.eagle.sasl.enable=false
cluster1.kafka.eagle.sasl.protocol=SASL_PLAINTEXT
cluster1.kafka.eagle.sasl.mechanism=PLAIN
cluster1.kafka.eagle.sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username="admin" password="kafka-eagle"; ######################################
# kafka jdbc driver address
######################################
kafka.eagle.driver=org.sqlite.JDBC
kafka.eagle.url=jdbc:sqlite:/opt/kafka-eagle-web-1.3.9/db/ke.db
kafka.eagle.username=root
kafka.eagle.password=www.kafka-eagle.org
添加环境变量
vim ~/.bash_profile export KE_HOME=/opt/kafka-eagle-web-1.3.
export PATH=$PATH:$KE_HOME/bin source ~/.bash_profile
开启 Kafka broker jmxport,编辑 Kafka 集群上的 bin/kafka-server-start.sh 脚本
if [ "x$KAFKA_HEAP_OPTS" = "x" ]; then
export JMX_PORT=""
export KAFKA_HEAP_OPTS="-Xmx1G -Xms1G"
# export KAFKA_HEAP_OPTS="-server -Xms2G -Xmx2G -XX:PermSize=128m -XX:+UseG1GC -XX:MaxGCPauseMillis=200 -XX:ParallelGCThreads=8 -XX:ConcGCThreads=5 -XX:InitiatingHeapOccupancyPercent=70"
fi
三、启动
需要先启动 Zookeeper 集群和 Kafka 集群。
第一此启动脚本可能没有执行权限。
chmod +x /opt/kafka-eagle-web-1.3./bin/*
在 ke.sh 脚本中,支持以下命令:
命令 | 说明 |
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系统中的类是否存在 |
启动后可以看到访问地址和账号密码