一个小web应用程序来监视kafka消费者的进度和延迟队列。
KafkaOffsetMonitor
是用来实时监控Kafka集群中的consumer以及在队列中的位置(偏移量)。
可以查看当前的消费者组,每个topic队列的所有partition的消费情况。可以很快地知道每个partition中的消息是否很快被消费以及相应的队列消息增长速度等信息。这些可以debug kafka的producer和consumer,你完全知道你的系统将会发生什么。
KafkaOffsetMonitor raft特点:
- 轻量级,仅仅用于查询
- 安全性,提供给任何开发人员
支持kafka的版本
- kafka raft >= 2.8
并不向下兼容
消费者组列表
消费组的topic列表
图中参数含义解释如下:
- topic:创建时topic名称
- partition:分区编号
- offset:表示该parition已经消费了多少条message
- logSize:表示该partition已经写了多少条message
- Lag:表示有多少条message没有被消费。
- Owner:表示消费者
- IP:消费者IP
- ClientId:消费者客户号
下载
可以到github下载KafkaOffsetMonitor
源码。
https://github.com/orchome/KafkaOffsetMonitor
编译KafkaOffsetMonitor命令:
mvn -Dmaven.test.skip=true -U package
不过不建议你自己去下载,因为编译的jar包里引入的都是外部的css和js,所以打开必须联网,都是国外的地址,你编译的时候还要修改js路径,我已经搞定了,你直接下载就好了。
版本 | 下载 |
---|---|
1.0.0 | KafkaOffsetMonitor |
启动
编译完之后,将会在KafkaOffsetMonitor根目录下生成一个类似KafkaOffsetMonitor-1.0.jar
的jar文件。这个文件包含了所有的依赖,我们可以直接启动它:
java -jar KafkaOffsetMonitor-1.0.jar \
--broker-list=localhost:9092 \
--server.port=8080
各个参数的含义:
- broker-list:kafka地址。
- server.port 端口号
kafka server端的JMX监控里能监控到监控消费者和延迟的队列的指标吗?
Unable to find Active Consumers
怎样解决?
用程序消费一下,就会看到消费者了。
安装完毕后,监控页面上,显示了存在的consumer groups的信息,但是点击某个consumer组的详细信息,consumer offsets下没有数据显示,是为什么阿?kafka集群是3.3.1版本,kraft启动
我也发现了,命令行执行的没显示,其他的可以显示。
大佬,那这软件后续会更新吗?
会的,把遇到的问题、或需要的功能都留言给我,我统一更新。
执行如下命令之后:
java -jar KafkaOffsetMonitor-1.0.jar \ --broker-list=localhost:9092 \ --server.port=8080
页面可以正常访问,但是一直显示loading,然后服务端:
ERROR 6934 --- [nio-8787-exec-2] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is java.lang.IllegalStateException: java.util.concurrent.ExecutionException: org.apache.kafka.common.errors.TimeoutException: Timed out waiting for a node assignment. Call: listTopics] with root cause org.apache.kafka.common.errors.TimeoutException: Timed out waiting for a node assignment. Call: listTopics
kafka使用SASL/PLAIN认证
1、目前监控不支持任何安全策略。
2、确保kafka启动成功。
3、确保监控和kafka在同一台机器。
我刚才漏了一条,你刷新下。
了解,后续可以支持上安全策略么
会的,有需求,就会排期加上。
后续会有历史监控数据吗
会的
大概什么时候会出呢,期待
不支持监控吗?或者怎么对接prometheus?