最近kafka server消息服务上线了,基于jmx指标参数也写到zabbix中了,但总以为缺乏点什么东西,可视化可操做的界面。zabbix中数据比较分散,不能集中看整个集群状况。或者一个cluster中broker列表,本身写web-console比较耗时耗力,用原型工具画了一些管理界面东西,关键本身也不前端方面技术,这方面比较薄弱。这不开源社区提供了kafka的web管理平台KafkaOffsetMonitor.就迅速拿过来运行。你们不要着急,立刻娓娓道来。css
这个应用程序来实时监控你kafka服务的consumer以及他们在partition中的offset(偏移)。 前端
你能够浏览当前的消费者组,每一个topic的全部partition的消费状况均可以尽收眼底。这实际上是颇有用得,从这里你很快知道每一个partition的message是否很快被消费(没有阻塞)。他能指导你(kafka producer和consumer)优化代码。java
这个web管理平台保留的partition offset和consumer滞后的历史数据,因此你能够很轻易了解这几天consumer消费状况。 git
1.从标题均可以看出来,Kafka Offset Monitor,是对consumer消费状况进行监控,并能列出每一个consumer offset,滞后数据。github
2.消费者组列表web
3.每一个topic的全部parition列表(topic,pid,offset,logSize,lag,owner)vim
4.查看topic的历史消费信息.bash
虽然功能覆盖面不全,可是很实用。app
github官网下载工具
百度云下载(网速快)
说明:百度云下载为修改版本,由于KafkaOffsetMonitor中有些资源文件(css,js)是访问外网的,特别是有访问google资源,你们都懂的,常常不能访问。建议下载修改版
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的根目录,须要手工建立,也能够不设置
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
消费者组列表
topic的全部partiton消费状况列表
以上图中参数含义解释以下:
topic:建立时topic名称
partition:分区编号
offset:表示该parition已经消费了多少条message
logSize:表示该partition已经写了多少条message
Lag:表示有多少条message没有被消费。
Owner:表示消费者
Created:该partition建立时间
Last Seen:消费状态刷新最新时间。
kafka正在运行的topic
kafka集群中topic列表
kafka集群中broker列表
请注明转载自:http://blog.csdn.net/lizhitao/article/details/27199863