Kafka监控工具—KafkaOffsetMonitor

Kafka 天涯孤鸟 8656℃ 0评论

kafka logo

一、KafkaOffsetMonitor简述

KafkaOffsetMonitor是Kafka的一款客户端消费监控工具,用来实时监控Kafka服务的Consumer以及它们所在的Partition中的Offset,我们可以浏览当前的消费者组,并且每个Topic的所有Partition的消费情况都可以一目了然。

二、KafkaOffsetMonitor下载

KafkaOffsetMonitor托管在Github上,可以通过Github下载。
下载地址:https://github.com/quantifind/KafkaOffsetMonitor/releases
kafkaoffsetMonitor download

三、KafkaOffsetMonitor启动

将下载下来的KafkaOffsetMonitor jar包上传到linux上,可以新建一个目录KafkaMonitor,用于存放KafkaOffsetMonitor-assembly-0.2.0.jar进入到KafkaMonitor目录下,通过java编译命令来运行这个jar包:

按回车后,可以看到控制台输出:
kafkaoffsetMonitor start
如果没有指定端口,则默认会开启一个随机端口
如果想指定固定的端口,可以用:

参数说明:

  • zk :zookeeper主机地址,如果有多个,用逗号隔开
  • port :应用程序端口
  • refresh :应用程序在数据库中刷新和存储点的频率
  • retain :在db中保留多长时间
  • dbName :保存的数据库文件名,默认为offsetapp

kafkaoffsetMonitor start
为了更方便的启动KafkaOffsetMonitor,可以写一个启动脚本来直接运行,我这里新建一个名为:kafka-monitor-start.sh的脚本,然后编辑这个脚本:

kafkaoffsetMonitor start
输入如下内容:

然后退出保存即可,接下来修改一下kafka-monitor-start.sh的权限,否则会报

启动KafkaOffsetMonitor:

四、KafkaOffsetMonitor Web UI

在游览器中输入:http://ip:port即可以查看KafkaOffsetMonitor Web UI,如下图:
kafkaoffsetMonitor Web UI
这里可以看到所有的消费群组。点击某一个群组进入:
kafkaoffsetMonitor Web UI
可以看到,这个消费群组订阅了两个主题,这里的参数:

  • Topic:订阅的主题
  • Partition:分区编号
  • Offest:表示该parition已经消费了多少条message
  • logSize:表示该partition已经写了多少条message
  • Lag:表示有多少条message没有被消费。
  • Owner:表示消费者
  • Created:该partition创建时间
  • Last Seen:消费状态刷新最新时间。

点击某个主题进去,可以看到当前主题的消费图谱:
kafkaoffsetMonitor Web UI
除了上面可视化界面之外,监控工具还提供了活动主题和消费者可视化页面:
kafkaoffsetMonitor Web UI
这里一个主题只有一个订阅群组,如果是多个订阅者:
kafkaoffsetMonitor Web UI
同时也提供了Kafka集群可视化:
kafkaoffsetMonitor Web UI
由于这里是单机的,所以看到的只有一个节点,如果是集群,有多个broker,那么这里就是会有多个节点。
kafkaoffsetMonitor Web UI

五、KafkaOffsetMonitor 总结

KafkaOffsetMonitor:程序一个jar包的形式运行,部署较为方便。只有监控功能,使用起来也较为安全。
除了KafkaOffsetMonitor,Kafka监控工具还有另外两款:
Kafka Web Console:监控功能较为全面,可以预览消息,监控Offset、Lag等信息,但存在bug,不建议在生产环境中使用。
Kafka Manager:偏向Kafka集群管理,若操作不当,容易导致集群出现故障。对Kafka实时生产和消费消息是通过JMX实现的。没有记录Offset、Lag等信息。
后续将介绍如何搭建和使用这两款工具。


转载请注明:猫头鹰工作室 » Kafka监控工具—KafkaOffsetMonitor

喜欢 (0)or分享 (0)
发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
(3)个小伙伴在吐槽
  1. 南瓜一族
    5long大神
    pumpkin2016-12-24 10:49 回复
  2. 您好,我按照您的这个安装的,但是访问页面的时候是空的。我用flume收集日志放入kafka的topic 里,为什么监控不到。求解!!!!!!
    耿宝橙2017-09-19 17:07 回复
    • 天涯孤鸟
      首先你看下zookeeper地址有没配置对:vim kafka-monitor-start.sh 或者查看flume发送到kafka的主题存不存在。kafka有个配置是设置是否自动创建主题的:auto.create.topics.enable=true 另外你可以打开kafka的消费者看下你flume发送到kafka的消息有没有成功,如果没成功,可以参考http://www.2bowl.info/flume-kafka-%E7%9A%84%E5%9F%BA%E6%9C%AC%E9%85%8D%E7%BD%AE/我这篇文章里面的配置。
      天涯孤鸟2017-09-27 17:58 回复