本篇文章大概2537字,阅读时间大约13分钟
Kafka产线环境需要管理的Topic和Consumser越来越多,使用命令行工具进行管理会非常繁杂。因此,大数据平台上需要一套Kafka的管理监控系统,Kafka-Eagle。
集群环境
- CDH5.16.2
- CDH Kafka - 4.1.0
- Kafka-Eagle-2.0.2
1
Kafka-Eagle
Kafka Eagle是一个用于监控和管理kafka的开源组件,可以同时监控多个kafka集群。Kafka Eagle提供了完善的监控页面和kafka常用操作的管理界面,便于管理员对kafka集群进行运维管理。
Kafka Eagle提供了KSQL操作的可视化界面,让你可以非常快速的查看kafka中的消息。
Kafka Eagle支持多种报警方式,如钉钉,微信和邮件等。
官网:http://www.kafka-eagle.org/
2
Kafka-Eagle安装部署
CDH集群上所有的工具组件都部署在集群的工具节点上。
软件下载
http://download.kafka-eagle.org/
- 将安装包上传到opt目录并进行解压
tar -zxvf kafka-eagle-bin-2.0.2.tar.gz -C /opt/
tar -zxvf kafka-eagle-web-2.0.2-bin.tar.gz -C /opt/
mv kafka-eagle-web-2.0.2 kafka-eagle-2.0.2
参数配置
- 配置kafka eagle环境变量
vi /etc/profile
#kafka eagle
export KE_HOME=/opt/kafka-eagle-2.0.2
export PATH=$PATH:$KE_HOME/bin
#环境变量生效
source /etc/profile
- 创建元数据库,存放在mysql中
CREATE DATABASE ke DEFAULT CHARACTER SET utf8 DEFAULT COLLATE
utf8_general_ci;
CREATE USER 'ke'@'%' IDENTIFIED BY 'ke123!';
GRANT ALL PRIVILEGES ON ke.* TO 'ke'@'%' IDENTIFIED BY 'ke123!';
flush privileges;
- 修改kafka-eagle的配置文件
- 主要注意集群的zk信息,kafka eagle的端口,kafka的offset存储在zk还是topic及元数据库的配置
cd $KE_HOME/conf
vi system-config.properties
# 修改配置文件
######################################
# multi zookeeper & kafka cluster list
######################################
# 指定kafka集群名称,可以配多个,采用逗号分隔
kafka.eagle.zk.cluster.alias=ca-prod
ca-prod.zk.list=xx1:2181,xx2:2181,xx3:2181
######################################
# kafka eagle webui port
######################################
kafka.eagle.webui.port=8048
######################################
# kafka offset storage
######################################
ca-prod.kafka.eagle.offset.storage=kafka
#cluster2.kafka.eagle.offset.storage=zk
######################################
# kafka metrics, 15 days by default
######################################
kafka.eagle.metrics.charts=true
#保留5天的kafka metrics
kafka.eagle.metrics.retain=5
######################################
# kafka mysql jdbc driver address
######################################
kafka.eagle.driver=com.mysql.jdbc.Driver
kafka.eagle.url=jdbc:mysql://10.64.xx.xx:3306/ke?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull
kafka.eagle.username=ke
kafka.eagle.password=ke123!
- 启动kafka eagle
sh ke.sh start
- 查看logs目录,可以查看日志
- log.log
- error.log
- ke_console.log
- 访问页面http://utility2.changan.com:8048/, 输入admin 123456
- kafka-eagle部署完成
3
Kafka-Eagle简单使用
仪表盘
- 列出kafka集群的概况
- broker
- topic
- zk
- 消费者组
- topic的lag和容量统计指标
Topic
- 实现kafka topic的查看 KSQL Mock数据发送 管理功能
创建
修改配置
Mock数据
- 用于测试流应用非常方便
展示Topic详情
- 点击topic名称可以查看topic详情
消费者
- 点进去查看消费者详情
- 查看熟悉的offset和lag
- 更多功能参考官方文档
- http://www.kafka-eagle.org/articles/docs/quickstart/dashboard.html
4
总结
Kafka-Eagle界面简洁,功能全面,支持多集群管理,基本上覆盖了,kafka的常规使用场景。与使用Prometheus监控kafka相比,Kafka-Eagle提供了更多的topic管理和KSQL数据查看功能,更适合kafka管理员使用。