kafka监控 Kafka-eagle-web
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