16、kafka集群监控

Kafka集群监控工具有很多,这里我们只介绍针对Kafka的监控。

一、Kafka Offset Monitor介绍

在生产环境中需要集群高可用,所以需要对kafka集群进行监控。Kafka Offset Monitor可以监控Kafka集群以下几项:

(1)Kafka集群当前存活的broker集合
(2)Kafka集群当前存活的topic集合
(3)消费者列表
(4)Kafka集群当前consumer按组消费的offset lag数(即当前topic当前分区目前有多少消息积压而没有被即使消费)

安装部署Kafka Offset Monitor

(1)下载安装
到github上下载对应jar包,下载链接地址

https://github.com/quantifind/KafkaOffsetMonitor/releases

下载后直接上传到kafka所在服务器即可
(2)启动Kafka Offset Monitor

java -cp KafkaOffsetMonitor-assembly-0.2.0.jar \
com.quantifind.kafka.offsetapp.OffsetGetterWeb \
--zk 192.168.12.150:2181,192.168.12.151:2181,192.168.12.152:2181 \
--port 8086 \
--refresh 10.seconds \
--retain 7.days \
1>kafka.offset.monitor.logs.stdout.log 2>kafka.offset.monitor.logs.stderr.log &

也可指定内存参数

java -Xms128M -Xmx256M -Xss1024K -XX:PermSize=128m -XX:MaxPermSize=256m -cp KafkaOffsetMonitor-assembly-0.2.0.jar com.quantifind.kafka.offsetapp.OffsetGetterWeb --zk 192.168.12.150:2181,192.168.12.151:2181,192.168.12.152:2181 --port 8086 --refresh 10.seconds --retain 7.days 1>kafka.offset.monitor.logs.stdout.log 2>kafka.offset.monitor.logs.stderr.log &
其中--zk指定zookeeper列表,--port指定使用的监控端口,--refresh指定刷新的时间间隔10秒,--retain表示驻留的时间为7点,标准日志输出到kakfa.offset.monitor.logs.stdout.log文件,错误输出到kafka.offset.monitor.logs.stderr.log并且最后的&表示后台运行!

运行结果:
在这里插入图片描述
在jar所在目录生成以上配置的两个日志输出文件
在这里插入图片描述
使用jps查看后台运行进程
在这里插入图片描述
经过测试0.2的版本的KafkaOffsetMonitor消费者组无法获取到,偏移量也无法获取到,可能只能兼容0.8之前版本的kafka(这里我用的是kafka2.11-2.2.0版本),将对应包移植到kafka的libs目录下,下载其他版本测试结果日下:

测试
(1)只能看到KafkaOffsetMonitor的消费者组,不能看到自己启动的消费程序的消费组信息

java -cp KafkaOffsetMonitor-assembly-0.3.0-SNAPSHOT.jar \
com.quantifind.kafka.offsetapp.OffsetGetterWeb \
--zk 192.168.12.150:2181,192.168.12.151:2181,192.168.12.152:2181 \
--port 8086 --refresh 10.seconds \
--retain 7.days \
1>kafka.offset.monitor.logs.stdout.log 2>kafka.offset.monitor.logs.stderr.log

(2)一个消费者组都看不到

java -cp KafkaOffsetMonitor-assembly-0.3.0-SNAPSHOT.jar \
com.quantifind.kafka.offsetapp.OffsetGetterWeb \
--offsetStorage kafka \
--zk 192.168.12.150:2181,192.168.12.151:2181,192.168.12.152:2181 \
--port 8086 --refresh 10.seconds \
--retain 7.days \
1>kafka.offset.monitor.logs.stdout.log 2>kafka.offset.monitor.logs.stderr.log &

(3)同(1)结果

java -Xms512M -Xmx512M -Xss1024K -XX:PermSize=256m -XX:MaxPermSize=512m \
     -cp KafkaOffsetMonitor-assembly-0.4.6-SNAPSHOT.jar \
     com.quantifind.kafka.offsetapp.OffsetGetterWeb \
     --offsetStorage kafka \
     --kafkaBrokers localhost:9092 \
     --kafkaSecurityProtocol PLAINTEXT \
     --zk localhost:2181 \
     --port 8787 \
     --refresh 10.seconds \
     --retain 7.days 1>stderr.log  \
     --dbName offsetapp_kafka

注意参数
offsetStorage:有效的选项是"zookeeper",“kafka”,“storm”。0.9版本以后,offset存储的位置在kafka

以上测试结果表明在新版本中该用具不能使用阿西吧~

查看集群信息
在这里插入图片描述
该工具操作性不多,且无法使用,所以建议使用如下工具kafka manager,用于管理多个集群!

安装部署kafka-mamager工具

这里选择的是yahoo 的kafka-mamager工具,先下载二进制包kafka-manager-1.3.3.7.zip
安装解压
cd /opt unzip kafka-manager-1.3.3.7.zip mv kafka-manager-1.3.3.7 kafka-manager
在这里插入图片描述
编辑配置文件

cd /opt/kafka-manager/conf/
vim application.conf

添加内容

kafka-manager.zkhosts="kafka1:2181,kafka2:2181,kafka3:2181"

在这里插入图片描述
启动kafka-manager

chmod 777 /opt/kafka-manager/bin/kafka-manager
nohup /opt/kafka-manager/bin/kafka-manager &

在这里插入图片描述
在这里插入图片描述
启动之后当前目录会有一个nohup.out控制台输出日志

注意
kafka-manager 默认的端口是9000,可通过
*-Dhttp.port,指定端口; *
-Dconfig.file=conf/application.conf指定配置文件
如下所示

nohup ./kafka-manager -Dconfig.file=conf/application.conf -Dhttp.port=8080

查看启动情况

jps

在这里插入图片描述
访问地址
http://192.168.12.60:9000/
添加族参数
Add Cluster
在这里插入图片描述
添加参数配置如下
在这里插入图片描述
然后保存,最后添加如下
在这里插入图片描述
点击进去,然后就可以通过web页面查看集群所有信息了
在这里插入图片描述
快来成为我的朋友或合作伙伴,一起交流,一起进步!:
QQ群:961179337
微信:lixiang6153
邮箱:lixx2048@163.com
公众号:IT技术快餐
更多资料等你来拿!

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

贝壳里的沙

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值