kafka监控系统kafka eagle安装使用

本文介绍国人开源的Kafka监控系统Kafka-Eagle的最新版本1.4.6的部署过程,包括配置JAVA_HOME、KE_HOME、系统配置文件system-config.properties,以及启动和验证步骤。Kafka-Eagle支持Kafka多版本监控,提供丰富的监控仪表盘和告警功能。

简介

介绍一个国人开源的kafka的监控系统Kafka-Eagle.同类型的还有kafka-manager,不过官方版已经很久不更新了,不支持kafka2以后的版本,滴滴维护开源了一个支持kafka多版本监控的kafka-manager,之后有时间了再试试。

官网: https://www.kafka-eagle.org/

Github:https://github.com/smartloli/kafka-eagle

下载:http://download.kafka-eagle.org/

历史版本:https://docs.kafka-eagle.org/5.changelog/1.changelog

没梯子的话下载起来比较慢,这里分享我已经下载好的版本。

kafka-eagle-v1.4.6.tar.gz

我这里使用最新的1.4.6版本进行部署。

首先要有kafka(废话,没有kafka监控啥),kafka 2.4.1单机版部署及使用

1.解压安装包

tar -zxvf kafka-eagle-${version}-bin.tar.gz

2.配置JAVA_HOME和KE_HOME:

vim /etc/profile

export JAVA_HOME=/path/to/jdk8 

export KE_HOME=/path/to/kafka-eagle

export PATH=$PATH:$JAVA_HOME/bin:$KE_HOME/bin

 

 

3.进入$KE_HOME/config 修改配置文件:

vim system-config.properties

######################################
# 设置Kafka多集群,这里只需要设置Zookeeper,
# 系统会自动识别Kafka Broker
######################################
kafka.eagle.zk.cluster.alias=cluster1
cluster1.zk.list=sdakf01:2181
#这里如果是zk集群就是cluster1.zk.list=sdakf01:2181,sdakf02:2181,sdakf03:2181

######################################
# broker size online list
######################################
cluster1.kafka.eagle.broker.size=20

######################################
# Zookeeper线程池最大连接数
######################################
kafka.zk.limit.size=25

######################################
# Kafka Eagle的页面访问端口
######################################
kafka.eagle.webui.port=8048

######################################
# 存储消费信息的类型,一般在0.9版本之前,消费
# 信息会默认存储在Zookeeper中,所以存储类型
# 设置zookeeper即可,如果是在0.10版本之后,
# 消费者信息默认存储在Kafka中,所以存储类型
# 设置为kafka。而且,在使用消费者API时,尽量
# 客户端Kafka API版本和Kafka服务端的版本保持
# 一致性。
######################################
cluster1.kafka.eagle.offset.storage=kafka

######################################
# 开启性能监控,数据默认保留30天
######################################
kafka.eagle.metrics.charts=true
kafka.eagle.metrics.retain=30


######################################
# KSQL查询Topic数据默认是最新的5000条,如果
# 在使用KSQL查询的过程中出现异常,可以将下面
# 的false属性修改为true,Kafka Eagle会在
# 系统中自动修复错误。
######################################
kafka.eagle.sql.topic.records.max=5000
kafka.eagle.sql.fix.error=false

######################################
# 删除Kafka Topic时需要输入删除密钥,由
# 管理员执行
######################################
kafka.eagle.topic.token=keadmin

######################################
# 开启Kafka ACL特性,例如SCRAM或者PLAIN,
# 一般生产环境会使用SCRAM来做ACL,应为SCRAM
# 可以动态创建和管理用户。
######################################
cluster1.kafka.eagle.sasl.enable=false
cluster1.kafka.eagle.sasl.protocol=SASL_PLAINTEXT
cluster1.kafka.eagle.sasl.mechanism=SCRAM-SHA-256
cluster1.kafka.eagle.sasl.jaas.config=org.apache.kafka.common.security.scram.ScramLoginModule required username="kafka" password="kafka";
cluster1.kafka.eagle.sasl.client.id=
cluster1.kafka.eagle.sasl.cgroup.enable=false
cluster1.kafka.eagle.sasl.cgroup.topics=


######################################
# 存储Kafka Eagle元数据信息的数据库,目前支持
# MySQL和Sqlite,默认使用Sqlite进行存储
# kafka sqlite jdbc driver address
######################################
kafka.eagle.driver=org.sqlite.JDBC
#kafka.eagle.url=jdbc:sqlite:/hadoop/kafka-eagle/db/ke.db
kafka.eagle.url=jdbc:sqlite:/opt/app/kafka-eagle-web-1.4.6/db/ke.db
kafka.eagle.username=root
#kafka.eagle.password=www.kafka-eagle.org
kafka.eagle.password=123456

######################################
# 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

######################################
# 邮件服务器设置,用来告警
######################################
#kafka.eagle.mail.enable=true
#kafka.eagle.mail.sa=wyk@csdn.com            #邮箱地址
#kafka.eagle.mail.username=wyk@csdn.com      #用户名,一般与邮箱地址相同
#kafka.eagle.mail.password=wyk123456         #邮箱密码
#kafka.eagle.mail.server.host=smtp.csdn.com  #SMTP服务器地址
#kafka.eagle.mail.server.port=25             #SMTP服务器端口,一般为25

4.注意事项,建议提前做

1.修改jdk默认编码:

vim /etc/profile 或 vim ~/.bash_profile

加上这一句:

export JAVA_TOOL_OPTIONS="-Dfile.encoding=UTF-8"
 

然后source /etc/profile

2.修改kafka的bin/kafka-server-start.sh开启JMX

kafka-eagle会使用JMX去监控kafka的数据,获取topic,consumer,producer,处理时间,消费数,消息数等信息用做可视化报表。

在每个kafka节点下修改bin/kafka-server-start.sh

if [ "x$KAFKA_HEAP_OPTS" = "x" ]; then
    export KAFKA_HEAP_OPTS="-server -Xms8G -Xmx8G -XX:PermSize=128m -XX:+UseG1GC -XX:MaxGCPauseMillis=200 -XX:ParallelGCThreads=8 -XX:ConcGCThreads=5 -XX:InitiatingHeapOccupancyPercent=70"
    # 开启JMX_PORT端口,端口开启后,Kafka Eagle系统会自动感知获取
    export JMX_PORT="9999"
    # 注释脚本中默认的信息
    # export KAFKA_HEAP_OPTS="-Xmx1G -Xms1G"
fi

5.启动Kafka-Eagle验证

$KE_HOME/bin/ke.sh start

 

出现下面的信息表示启动成功:

打印的日志里也给出了访问地址和管理员账号密码: http://localhost:8048/ke'   admin/123456

 

作者还提供了其他的辅助命令:

# 查看Kafka Eagle运行状态
ke.sh status

# 停止Kafka Eagle
ke.sh stop

# 查看Kafka Eagle GC情况
ke.sh gc

# 查看Kafka Eagle服务器资源占用情况,例如TCP、句柄等
ke.sh stats

# 查看Kafka Eagle版本号
ke.sh version

# 查看Kafka Eagle服务器上JDK的编码情况(如果JDK编码不是UTF-8,可能会有异常出现,执行如下命令,根据提示来修复JDK编码问题)
ke.sh jdk

# 查看Kafka Eagle中是否存在某个类(如果需要精确,类名前面可以加上包名)
ke.sh find [ClassName]

 

如果登录一直报错的话可能是因为上面的jdk编码错误的问题,可以查看前端访问日志:

在$KE_HOME/kms/logs/catalina.out

修改JDK默认编码重新启动KE即可。

首页:

 

Topic:

KSQL:

发送消息

创建Topic

Consumer:

zk&kafka:

ZK cli:

监控仪表盘:

告警:

监控大屏:

更多玩法请参考官方手册。https://docs.kafka-eagle.org/

评论 8
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

王义凯_Rick

遇见即是缘,路过就给个评论吧~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值