文章目录
最近开始公众号文章也开始同步更新了,对Java、大数据、人工智能、开发运维相关技术分享,文章对您有用的话,辛苦您也关注下公众号,感谢!
在Kafka生态系统中,监控工具是确保数据流动高效且稳定的重要组成部分。本文将对几款流行的Kafka监控工具进行对比,帮助用户选择最合适的工具。
多款Kafka监控工具对比
监控工具名称查看Topic和消费者组信息根据关键词查看信息创建、删除Topic性能部署复杂度Kafdrop支持支持支持高简单KafkaOffsetMonitor支持不支持不支持中简单EFAK支持不支持不支持低相对复杂
kafdrop(推荐)
功能介绍
- 支持根据Topic查看消费者组详细信息
- 支持查看消费者组消费的所有Topic
- 支持查看Topic详细配置
- 支持根据关键词呢搜索消息
- 支持根据offset查看消息
- 支持创建、删除Topic
项目地址
https://github.com/obsidiandynamics/kafdrop
安装运行命令
docker run -d--rm-p9000:9000 \-eKAFKA_BROKERCONNECT=<host:port,host:port>\-eSERVER_SERVLET_CONTEXTPATH="/"\
obsidiandynamics/kafdrop
首页
首页展示集群的基本信息,例如:Topic总数、Partition总数等。
可以查看Topic基础信息,并且在首页底部,用户可以创建新的Topic。
查看Topic详情
用户可以查看Topic的配置信息和每个Partition的详细信息,例如最早的offset、最新的offset、分区leader所处的节点等。具体信息如下图所示:
查看分区数据
点击具体的分区后,可以查看该分区内的数据。
用户还可以自定义数据查询。
通过输入关键词,用户可以搜索Topic中的数据。
查看消费者组信息
用户可以查看指定Topic下的所有消费者组
点击某个消费者组后,用户可以查看该组所消费的所有Topic及其消费状态。
KafkaOffsetMonitor
KafkaOffsetMonitor是一款传统的监控工具,用户只需启动一个jar包即可运行。用户可以通过在网上搜索获取jar包,或者关注公众号后台回复“kafka监控”获取下载链接。
功能介绍
- 支持查看消费者组信息
- 支持查看Topic组信息
- 支持查看一定时间内消费者消费状态
启动方式
java -cp KafkaOffsetMonitor-assembly-0.3.0-SNAPSHOT.jar \
com.quantifind.kafka.offsetapp.OffsetGetterWeb \
--offsetStorage kafka \
--zk zk-server1,zk-server2 \
--port 8080 \
--refresh 10.seconds \
--retain 2.days
说明:
offsetStorage:有效的选项是"zookeeper","kafka","storm"。0.9版本以后,offset存储的位置在kafka。
zk: zookeeper的地址
prot 端口号
refresh 刷新频率,更新到DB。
retain 保留DB的时间
dbName 在哪里存储记录(默认'offsetapp')
监控页面展示
说明:
- Topic:Topic的名称
- Partition:该Topic包含的分区数量
- Offset:Kafka消费者已消费的消息数量
- logSize:已写入该分区的消息数量
- Lag:未读取的消息数量(Lag=logSize-Offset)
- Owner:该分区所在的Broker(包括消费者组名称、主机名和broker.id)
- Created:分区创建时间
- Last Seen:Offset和logSize最后更新时间
左上角显示当前Topic的生产速率,右上角显示当前消费者的消费速率。
EFAK
功能介绍
- 查看Topic信息
- 查看消费者组信息
- 查看集群Metric信息
- 根据SQL查询数据(支持简单SQL)
- 告警支持
- 节点信息查看
项目信息
项目地址:https://github.com/smartloli/EFAK
安装步骤参考:https://docs.kafka-eagle.org/2.installation/2.installonlinuxmac
仪表盘
创建Topic
消费者组
SQL查询数据
监控指标
总结
- Kafdrop(推荐): - 优点:界面友好,功能全面,支持Topic和消费者组的详细信息查看,能够搜索特定关键词并创建、删除Topic,适合需要实时监控和管理Kafka集群的用户。- 适用场景:适合对Kafka有较高管理需求的开发和运维人员。
- KafkaOffsetMonitor: - 优点:轻量级,配置简单,专注于消费者组的消费状态监控,提供一定时间内的消费历史,适合快速部署和使用。- 适用场景:适合对历史消费数据有需求的小型项目或个人用户。
- EFAK: - 优点:功能丰富,支持简单SQL查询,告警功能,以及集群状态监控,适合需要更复杂监控和数据分析的场景。- 适用场景:适合企业级应用具备二次开发能力(运行时间长了会比较慢)和需要深入分析Kafka集群性能的用户。
版权归原作者 jast_zsh 所有, 如有侵权,请联系我们删除。