参照site:https://github.com/quantifind/KafkaOffsetMonitor
一、简述
这个应用程序用来实时监控Kafka服务的Consumer以及它们所在的Partition中的Offset,我们可以浏览当前的消费者组,并且每个Topic的所有Partition的消费情况都可以观看的一清二楚。
它让我们很直观的知道,每个Partition的Message是否消费掉,有没有阻塞等等。
这个Web管理平台保留的Partition、Offset和它的Consumer的相关历史数据,我们可以通过浏览Web管理的相关模块,清楚的知道最近一段时间的消费情况。
二、下载
Here 是github提供的下载地址,经测试不能友好运行,后来查阅才知道这个jar包中有谷歌的超链接。
我将前辈编译过后的jar已存入盘,方便使用。下载地址
(如果你会编译修改,请不吝赐教!谢谢!!!)
三、安装
KafkaOffsetMonitor的安装部署较为简单,所有的资源都打包到一个JAR文件中了,因此,直接运行即可,省去了我们去配置。这里我们可以新建一个目录单独用于Kafka的监控目录,
我这里新建一个kafka_monitor文件目录,然后我们在准备启动脚本,脚本内容如下所示:
#! /bin/bash
java -cp KafkaOffsetMonitor-assembly-0.2.0.jar \
com.quantifind.kafka.offsetapp.OffsetGetterWeb \
--zk h1:2181 \
--port 8089 \
--refresh 10.seconds \
--retain 1.days
解释以下这条启动命令的含义,首先我们需要指明运行Web监控的类,然后需要用到ZooKeeper,所有要填写ZK集群信息,接着是Web运行端口,页面数据刷新的时间以及保留数据的时间值
四、启动
1.启动zookeeper:
> bin/zkServer.sh start
2.启动kafka:
> bin/kafka-server-start.sh config/server.properties
3.启动web监控:
> sh monitor_start.sh
五、KafkaOffsetMonitor运行预览
本人是通过远程登录Linux系统查看的。登录方式 参考我之前写的 《使用XRDP实现Windows远程桌面Linux系统》
消费组:
topic的所有partiton消费情况列表、
以上图中参数含义解释如下:
topic:创建时topic名称
partition:分区编号
offset:表示该parition已经消费了多少条message
logSize:表示该partition已经写了多少条message
Lag:表示有多少条message没有被消费。
Owner:表示消费者
Created:该partition创建时间
Last Seen:消费状态刷新最新时间。
kafka正在运行的topic
kafka集群topic列表
kafka集群broker列表