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

文章目录

    • 1.前言
    • [2.kafka 命令行工具](#2.kafka 命令行工具)
    • [3.kafka tools](#3.kafka tools)
    • 4.kafka-ui(推荐)
    • 5.实用功能
      • [5.1 消息查找](#5.1 消息查找)
        • [5.1.1 kafka-ui](#5.1.1 kafka-ui)
        • [5.1.2 kafka tools](#5.1.2 kafka tools)
      • [5.2 手动添加](#5.2 手动添加)

1.前言

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

2.kafka 命令行工具

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

比如

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

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

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

bash 复制代码
$ 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

官网下载地址

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

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

左侧分别为

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

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

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

数据如下:

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

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

4.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

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

相关推荐
观无13 分钟前
redis分布式锁
数据库·redis·分布式
颜淡慕潇20 分钟前
Redis 实现分布式锁:深入剖析与最佳实践(含Java实现)
java·redis·分布式
啾啾Fun1 小时前
【Java微服务组件】分布式协调P4-一文打通Redisson:从API实战到分布式锁核心源码剖析
java·redis·分布式·微服务·lua·redisson
记得开心一点嘛9 小时前
使用MinIO搭建自己的分布式文件存储
分布式·spring cloud·minio
纪元A梦11 小时前
分布式拜占庭容错算法——PBFT算法深度解析
java·分布式·算法
HAPPY酷13 小时前
Kafka 和Redis 在系统架构中的位置
redis·kafka·系统架构
忆雾屿14 小时前
云原生时代 Kafka 深度实践:06原理剖析与源码解读
java·后端·云原生·kafka
TCChzp16 小时前
Kafka入门-消费者
分布式·kafka
FakeOccupational19 小时前
【p2p、分布式,区块链笔记 MESH】Bluetooth蓝牙通信 BLE Mesh协议的拓扑结构 & 定向转发机制
笔记·分布式·p2p