kafka eagle(kafka鹰) 是一款由国内公司开源的Kafka集群监控系统,用于监控 Kafka 集群中 Topic 被消费的情况。包含 Lag 的产生,Offset 的变动, Partition 的分布,Owner ,Topic 被创建的时间和修改的时间等信息。
官网地址 https://www.kafka-eagle.org/
github地址:https://github.com/smartloli/kafka-eagle
本文安装的版本2.0.5
1.下载安装包,拖到linux机器,下载地址
https://github.com/smartloli/kafka-eagle-bin/tags
2.解压文件(需要解压两次)
tar -xzvf kafka-eagle-bin-2.0.5.tar.gz
cd kafka-eagle-bin-2.0.5
tar -xzvf kafka-eagle-web-2.0.5-bin.tar.gz -C /usr/local/
cd /usr/local
mv kafka-eagle-web-2.0.5 kafka-eagle
3.创建数据库ke 用于存储元数据
MySQL > create database ke;
4.设置环境变量
vim /etc/profile
export KE_HOME=/usr/local/kafka-eagle
export PATH=$PATH:$KE_HOME/bin
source /etc/profile
5.配置文件修改
cd /usr/local/kafka-eagle/conf
vim system-config.properties
配置zookeeper地址(tdn1 tdn2 tdn3就是zk所在机器的IP)
efak.zk.cluster.alias=cluster1
cluster1.zk.list=tdn1:2181,tdn2:2181,tdn3:2181
配置mysql,注释掉sqlite的配置
kafka.eagle.driver=com.mysql.cj.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
其他的一些配置用默认的即可
6.Kafka启动项的配置,开启JMX监控,进入Kafka安装目录下的bin文件夹
vim kafka-server-start.sh
7.启动kafka-eagle,切到bin目录执行
./ke.sh start
启动成功,输入密码 admin/123456 登录即可
这里遇到两个问题:
1,启动 eagle 需要服务器至少 1.5 G 的可用内存。如果可用内存不足,虽然会显示启动成功的页面。但是输入 bin/ke.sh status 会发现服务状态为未启动。也有可能是启动状态,但是访问不到登录页面,可以查看log目录下的日志,这里需要改一下虚拟机的内存,重启zk,kafka,即可访问。
2.有登录页面,无数据,看日志是数据库拒绝连接,这里可能是因为数据库不能远程访问,这里就需要开启远程访问权限
实现远程连接: 将host字段的值改为%就表示在任何客户端机器上能以root用户登录到mysql服务器,建议在开发时设为%。update user set host = ’%’ where user = ’root’; 将权限改为ALL PRIVILEGES
grant all privileges on *.* to root@'%' identified by "密码";
刷新:flush privileges;
这样机器就可以以用户名root密码root远程访问该机器上的MySql.
参考博客