文章作者:哥不是小萝莉
内容出处:作者本人
适用人群:大数据
注:欢迎转载,转载请注明出处
什么是KAFKA?Apache Kafka是一个分布式消息系统,它能够与很多大数据组件无缝衔接,例如:Flink、Spark、HDFS等。同时,应用于各种场景,例如:银行、电商、游戏、通信等。
设计KAFKA EAGLE的初衷?Apache Kafka 原生系统里面并不自带可视化的管理界面,例如Broker状态、Topic管理、Consumer Groups运行详情等都需要自己开发Kafka API获取数据或者利用已有的监控工具来实现。
但是,随着Apache Kafka官方更新迭代升级Kafka的版本,已有的Kafka监控工具要么不维护了,要么难以支持新版本的Kafka。
因此,我们在过去的时间里,从互联网公司的一些需求出发,从各位DEVS的使用经验和反馈出发,结合业界的一些大的开源的Kafka监控管理系统,用监控和管理的思维,设计开发了Kafka Eagle监控管理系统。
KAFKA EAGLE能做什么?Kafka Eagle是一个简单易用、高性能且完全开源的Kafka监控管理系统,它能够完美兼容Apache Kafka的所有版本。同时,支持多个Kafka集群管理与监控。
同时,Kafka Eagle提供了完整的官方文档,以及技术博客解答常见的疑难问题。更有QQ和微信技术交流群,由作者亲自支持解决使用者的疑惑。
KAFKA EAGLE有哪些功能?Kafka Eagle监控管理系统,提供了一个可视化界面,使用者可以拥有不同的角色,例如管理员、开发、游客。不同的角色对应不同的使用权限。主要由8个核心部分组成,如下图所示:
Kafka Eagle每个核心模块所负责和展示的功能如下:
数据面板(Dashboard):负责展示Kafka集群的Broker数、Topic数、Consumer数、以及Topic LogSize Top10和Topic Capacity Top10数据。
主题(Topic):该模块包含主题创建、主题管理、主题预览、KSQL查询主题、主题数据写入、主题属性配置等。
消费者组(Consumers):该模块包含监控不同消费者组中的Topic被消费的详情,例如LogSize、Offsets、以及Lag等。同时,支持查看Lag的历史趋势图。
集群管理(Cluster):该模块包含Kafka集群和Zookeeper集群的详情展示,例如Kafka的IP和端口、版本号、启动时间、Zookeeper的Leader和Follower。同时,还支持多Kafka集群切换,以及Zookeeper Client数据查看等功能。
指标监控(Metrics):该模块包含监控Kafka集群和Zookeeper集群的核心指标,包含Kafka的消息发送趋势、消息大小接收与发送趋势、Zookeeper的连接数趋势等。同时,还支持查看Broker的瞬时指标数据。
告警(Alarm):该模块包含告警集群异常和消费者应用Lag异常。同时,支持多种IM告警方式,例如钉钉、微信等。
系统管理(System):该模块包含用户管理,例如创建用户、用户授权、资源管理等。
数据大屏(BScreen):该模块包含展示消费者和生产者当日及最近7天趋势、Kafka集群读写速度、Kafka集群历史总记录等。
KAFKA EAGLE如何使用?Kafka Eagle部署方便,可以从官网下载最新的版本或者下载Github是Release的最新源代码自行编译。
例如,从官网下载Kafka Eagle安装包,按如下命令操作即可:
解压安装包:
tar -zxvf kafka-eagle-${version}-bin.tar.gz
配置JAVA_HOME和KE_HOME:
vi ~/.bash_profile
export JAVA_HOME=/hadoop/jdk8
export KE_HOME=/hadoop/kafka-eagle
export PATH=$PATH:$JAVA_HOME/bin:$KE_HOME/bin
配置system-config.properties文件,设置Zookeeper地址:
vi system-config.properties
kafka.eagle.zk.cluster.alias=cluster1,cluster2 cluster1.zk.list=tdn1:2181,tdn2:2181,tdn3:2181 cluster2.zk.list=xdn1:2181,xdn2:2181,xdn3:2181
启动Kafka Eagle系统,执行如下命令:
ke.sh start
开发进展:定时在QQ群和微信群公布Kafka Eagle的开发进度。
发版频率:目前Kafka Eagle的发版频率为每月发布一个新版本。
未来规划:Kafka Eagle源代码托管在Github,完全免费开源。欢迎新同学加入一起维护该项目,同时,会收集issues反馈的问题和新需求,并排期到Kafka Eagle的开发流程中。
福利放送为了表示对Kafka Eagle的支持,作者赠送Kafka Eagle笔记本作为纪念。喜欢的同学可以,参与抽奖。