概览
最近kafka server消息服务上线了,基于jmx指标参数也写到zabbix中了,但总觉得缺少点什么东西,可视化可操作的界面。zabbix中数据比较分散,不能集中看整个集群情况。或者一个cluster中broker列表,自己写web-console比较耗时耗力,用原型工具画了一些管理界面东西,关键自己也不前端方面技术,这方面比较薄弱。这不开源社区提供了kafka的web管理平台KafkaOffsetMonitor.就迅速拿过来运行。大家不要着急,马上娓娓道来。
说明:
这个应用程序来实时监控你kafka服务的consumer以及他们在partition中的offset(偏移)。
你可以浏览当前的消费者组,每个topic的所有partition的消费情况都可以一览无余。这其实是很有用得,从这里你很快知道每个partition的message是否很快被消费(没有阻塞)。他能指导你(kafka producer和consumer)优化代码。
这个web管理平台保留的partition offset和consumer滞后的历史数据,所以你可以很轻易了解这几天consumer消费情况。
KafkaOffsetMonitor功能:
1.从标题都可以看出来,Kafka Offset Monitor,是对consumer消费情况进行监控,并能列出每个consumer offset,滞后数据。
2.消费者组列表
3.每个topic的所有parition列表(topic,pid,offset,logSize,lag,owner)
4.查看topic的历史消费信息.
虽然功能覆盖面不全,但是很实用。
1.下载
百度云下载(网速快)
说明:百度云下载为修改版本,因为KafkaOffsetMonitor中有些资源文件(css,js)是访问外网的,特别是有访问google资源,大家都懂的,经常不能访问。建议下载修改版
2.安装
KafkaOffsetMonitor运行比较简单,因为所有运行文件,资源文件,jar文件都打包到KafkaOffsetMonitor-assembly-0.2.0.jar了,直接运行就可以,这种方式太棒了。既不用编译也不用配置,呵呵,也不是绝对不配置。
a.新建一个目录kafka-offset-console,然后把jar拷贝到该目录下.
b.新建脚本,因为您可能不是一个kafka集群。用脚本可以启动多个
lizhitao@users-MacBook-Pro: vim mobile_start_en.sh
#!/bin/bash
Java -Xms512M -Xmx512M -Xss1024K -XX:PermSize=256m -XX:MaxPermSize=512m -cp KafkaOffsetMonitor-assembly-0.2.0.jar \
com.quantifind.kafka.offsetapp.OffsetGetterWeb \
--zk 192.168.2.101:2181,192.168.2.102:2182,192.168.2.103:2181/config/mobile/xxx \
--port 8086 \
--refresh 10.seconds \
--retain 7.days 1>mobile-logs/stdout.log 2>mobile-logs/stderr.log &
注意:/config/mobile/xxx 表示zk的根目录,需要手工创建,也可以不设置
3.运行
lizhitao@users-MacBook-Pro: chmod +x mobile_start_en.sh
lizhitao@users-MacBook-Pro: ./mobile_start_en.sh
serving resources from: jar:file:/opt/xxx/kafka-offset-console/KafkaOffsetMonitor-assembly-0.2.0.jar!/offsetapp
6 演示截图:
消费者组列表
topic的所有partiton消费情况列表
以上图中参数含义解释如下:
topic:创建时topic名称
partition:分区编号
offset:表示该parition已经消费了多少条message
logSize:表示该partition已经写了多少条message
Lag:表示有多少条message没有被消费。
Owner:表示消费者
Created:该partition创建时间
Last Seen:消费状态刷新最新时间。
kafka正在运行的topic
kafka集群中topic列表
kafka集群中broker列表