本文主要介绍工具都是基于Windows环境安装
Kafka就不多说了,安装教程:在Windows安装运行Kafka
先说结论:选择用Kafka Eagle
KafkaOffsetMonitor:
优:程序一个jar包的形式运行,部署较为方便。
缺:功能不齐全,没有账号体系 使用不安全;
启动:java -cp KafkaOffsetMonitor-assembly-0.2.0.jar com.quantifind.kafka.offsetapp.OffsetGetterWeb --zk 127.0.0.1:2181 --port 8088 --refresh 1.seconds --retain 1.days
Kafka Manager:
优:雅虎出品,可管理多个Kafka集群,是目前功能较全的管理工具。
缺:Topic太多,监控数据会占用你大量的带宽,造成你的机器负载增高;其监控功能偏弱,不满足需求;缺少报警需要;
Kafka Eagle:要监控Kafka集群我们可以使用Kafka Monitor以及Kafka Manager,但随着我们对监控的功能要求、性能要求的提高,这些工具已经无法满足。
优:Kafka Eagle是一款结合了目前大数据Kafka监控工具的特点,重新研发的一块开源免费的Kafka集群优秀的监控工具。它可以非常方便的监控生产环境中的offset、lag变化、partition分布、owner等。
缺:暂无发现
一、下载:https://github.com/smartloli/kafka-eagle-bin/archive/v2.0.8.tar.gz (就不发网盘链接了)
二、解压:(我这里将外层的文件夹名字改了,不要奇怪~)
三、环境变量:KE_HOME=D:\devtools\kafka-eagle\efak-web-2.0.8 (个人放置的路径为准)
path添加 %KE_HOME%\bin
四、修改配置:只需要指定zk地址、sqlite和mysql选其一就行
######################################
# multi zookeeper & kafka cluster list
# Settings prefixed with 'kafka.eagle.' will be deprecated, use 'efak.' instead
######################################
#efak.zk.cluster.alias=cluster1,cluster2
#cluster1.zk.list=tdn1:2181,tdn2:2181,tdn3:2181
#cluster2.zk.list=xdn10:2181,xdn11:2181,xdn12:2181
#【本机Kafka】
efak.zk.cluster.alias=cluster1
cluster1.zk.list=127.0.0.1:2181
#...........................................
#中间的配置未改动,这里就不贴了
#...........................................
######################################
# kafka sqlite jdbc driver address
######################################
#【这里需要修改efak.url地址(注意这里我们选择sqlite/mysql任意一个就行)】
#【在linux环境使用时,发现SQLITE_BUSY锁表报错,建议linux时,使用下面的mysql配置,将sqlite配置注释】
efak.driver=org.sqlite.JDBC
efak.url=jdbc:sqlite:/D:/devtools/kafka-eagle/efak-web-2.0.8/db/ke.db
efak.username=root
efak.password=www.kafka-eagle.org
######################################
# kafka mysql jdbc driver address
######################################
#【个人情况:在linux环境下,可以自动生成库和表;Windows得时候不行,所以直接使用了sqlite。】
#efak.driver=com.mysql.cj.jdbc.Driver
#efak.url=jdbc:mysql://127.0.0.1:3306/ke?useUnicode=true&characterEncoding=UTF-8&useSSL=true&serverTimezone=UTC
#efak.username=root
#efak.password=123456
五、启动
需要先启动 zk、kafka,如何启动这两个就不在赘述了
双击 D:\devtools\kafka-eagle\efak-web-2.0.8\bin 下的 ke.bat
六、大概功能介绍
七、企业微信报警
这里有点问题就是:
通过查询接口文档 需要定时获取token,然后还需要指定接收人、接受部门等。。。然后找到源码在D:\devtools\kafka-eagle\efak-web-2.0.8\kms\webapps\ke\WEB-INF\lib efak-common-2.0.8.jar 中写死了这些信息。
所以笔者这里换了方案:直接建一个报警群,然后在群功能里添加机器人:
到这里就差不多了,详细的Lag(消息积压)的阈值配置就不细讲了。