夯实 kafka 系列|第三章:kafka 常用监控工具

发布于:2025-03-22 ⋅ 阅读:(19) ⋅ 点赞:(0)

1.前言

本章主要是介绍一些工作中常用 kafka 的监控工具;原理上都是一样的,只是展现方式不同。

2.kafka 命令行工具

在 kafka 的 bin 目录下面提供了很多命令行工具

请添加图片描述

比如

  • kafka-consumer-groups
    • 消费者组监控
    • 重设消费者组 offset 位移
  • kafka-dump-log 查看 kafka 消息文件内容

我们这里只讨论 kafka-consumer-groups

今天我们讨论下消费者监控,命令如下:

$ bin/kafka-consumer-groups.sh --bootstrap-server <Kafka broker连接信息> --describe --group <group名称>

请添加图片描述

  • topic:主题名称
  • parttion:分区,0,1,2,3,4…等等
  • lag:滞后量,即未消费的消息数
  • current-offset:当前消费者组已提交的位移,代表消费进度
  • log-end-offset:分区的最新消息位移,即下一条要写入的位置
  • consumer-id:消费者实例的唯一标识,用于区分组内的不同消费者
  • host:运行消费者的主机信息,包括IP地址
  • client-id:客户端的自定义标识,用于监控和调试

在上面这些数据中,我们最需要关心的只有两个

  • LAG 值
    • 滞后量,即未消费的消息数,或者说是消费者积压的数量
      • 0 表示消费完成,一般来说这个数字是变化的
      • 数字越大表示积压的越严重
  • HOST 主机IP地址
    • 可以观察是否有非集群的业务机器在消费 kafka 里面的消息
      • 在实际集群环境中经常会碰到一些莫名其妙的问题
      • 比如生产者推送了100条 message ,但是消费者只监听到50条
      • 有可能是其他服务器未关闭的消费者,配置过这个服务器的 kafka

3.kafka tools

官网下载地址

  • https://www.kafkatool.com/download.html

配置好之后,点击 connect ,效果如下:

  • 注意配置的是 zookeeper 的地址,很多新手会配置成 kafka 的地址和端口,这是不对的

请添加图片描述

左侧分别为

  • brokers
    • kafka 实例
  • topics
    • 主题
  • consumers
    • 消费者

点击 topic 可以展开,看到分区数量

请添加图片描述

点击 topic ,切换到 Data ,右侧可以看到 message 中的数据,注意 Properties 中,key 和 value 选择类型为 String

请添加图片描述

数据如下:

请添加图片描述

展开 Consumers ,选中查看消费者组消费情况

请添加图片描述

这里展示的内容和上面的 kafka 命令行一样,但是缺少 host ip 信息。

4.kafka-ui(推荐)

官网地址

  • https://github.com/provectus/kafka-ui

部署完成之后效果如下

请添加图片描述

左侧的 biz 表示 kafka 的一个业务组

展开之后其实和 kafka tools 的类似,也是分为 brokers、topics、consumers三个分类

请添加图片描述

具体的功能就不展示了,kafka-ui 是里面最强大的,基本上支持所有功能。

5.实用功能

5.1 消息查找

通过 message 中的关键字来进行消息的检索

5.1.1 kafka-ui

请添加图片描述

5.1.2 kafka tools

请添加图片描述

5.2 手动添加

kafka-ui 中可以手动添加 topic
请添加图片描述

可以手动发送消息,方便我们来测试代码流程

请添加图片描述