kafka 消费监控工具

  • 监控每个消费组的每个主题每个分区的消费情况,偏移量,总日志量,还剩多少
  • 对于消费堵塞的分区可以查看附近的数据看是什么原因导致消费堵塞
  • 可以对主题进行管理,增删主题,模拟数据发送,只能支持 JSON 数据模拟
  • 在双方调试的时候可以查看主题分区数据的增量,还可以看到所有分区最近的每个分区 10 条数据
  • 对于旧版 kafka 0.8.1.1 之前的,可以设置 offset 来重复消费,或者跳过异常数据来消费

对于 kafkaTool 的优势来说,我这个是在线版的,在公司部署在开发环境后,所有成员不需要每个人配置一遍连接,而且没有版权的弹框,如果内部协议使用 JSON 数据格式的话,使用本工具将会更加方便

项目地址:https://gitee.com/sanri/sanri-tools-maven
博客地址:https://blog.csdn.net/sanri1993/article/details/52201255

背景

写这个工具的原因主要是由于公司用的 kafkaOffsetMonitor 不够好用。公司还是用的旧版本的 kafka ,offset 是保存在 zookeeper 上的,每次读取 offset ,需要把当前消费组的所有主题的 offset 刷新一次,并且时不时会卡死;还只能查询,不能设置 zookeeper 的 offset ,每次使用命令去设置特别麻烦。

使用 KafkaTool 配置 saal 比较麻烦,而且还有版权的弹框,非常麻烦,所以自己写了一个,全部参照自官网 API

功能使用

新建连接

因为 kafka 是依赖于 zookeeper 的,我的工具中还有一个 zookeeper 工具,此工具强依赖于 zookeeper 工具,所以你需要先建立一个 zookeeper 连接,zookeeper 工具参考 zookeeper监控.md

选择一个连接后,根据是否旧版本选择 kafka 的新旧,在 0.8.1.1(包含) 之前选择旧版本,之后选择新版本即可,kafka 的版本标识是这样命名的 scalaversion-kafkaversion

之后就是配置安全认证,我这默认是用的 saal_plaintext 认证,一般公司都会采用这种,这个需要你对 kafka 的认证有一定的了解

使用

kafka 工具的使用分为消费组监控和主题管理,可能需要你对 kafka 的结构有一定了解,接下来的使用就看下面的图解说明了

效果展示

  • 选择连接后,将刷新出所有消费组

  • 点击你的消费组,查询出当前消费组消费的所有主题及主题的总的剩余量,日志大小相关信息

  • 点击监控,进入当前消费组,选择的主题的每个分区的消费信息详情

  • 点击附近数据,将查询当前 offset 前 100 条,后 100 条的数据; 查尾部数据,将查询 logSize 往前 100 条数据
  • 可以选择不同的序列化格式来序列化数据,我这里是 json 格式,使用 string 即可

  • 当数据格式为 json 时可以点击 json 书,以 json 数据查看

  • 在 kafka 首页点击 topic 管理可以进入 topic 管理界面,在这个界面可以创建主题,删除主题,查看主题消息,模拟数据发送

  • 在调试的时候,是需要看到对方的最新消息的,但是无法确定是发到了哪个分区,可以在发之前刷新下,再次刷新时就可以看到对方的数据是发到了哪个分区,发了多少条数据

  • 数据查看界面,这个界面是点击某个分区附近的消息或者尾部消息,或者点 播放 会加载所有分区的最近 10 条数据,这些数据会按照收取时间来倒序排序,可以更好的调试

  • 数据模拟界面,这里只支持模拟 JSON 数据发送,可以方便的修改 JSON 参数

我的博文大纲:https://blog.csdn.net/sanri1993/article/details/52201255


sanri1993
490 声望14 粉丝