当前位置: 首页 > news >正文

查看哪些IP在向kafka的broker生产消息

问题来源

数据采集端正在调试,相关人员告知已经将所有的推送端服务都停止了,为何kafka上相关topic还能不断接收到消息,要求排查是哪些ip还在推送数据。

问了一个DeepSeek,得到的答案是Kafka本身并不直接记录或提供推送数据的客户端IP信息。Kafka的设计理念是追求高吞吐量和低延迟,因此没有内置记录客户端IP的功能。

提供了三种方案:

1、使用网络层工具:使用netstat或lsof命令来查看与Kafka broker建立的连接,方法简单直接,但缺点是这些IP地址无法与Kafka的客户端ID直接关联起来,而且信息是实时的,无法追溯历史记录。

2、临时修改Kafka日志级别:修改log4j.properties文件,将kafka.network.Processor的日志级别设置为DEBUG并重启,这样Kafka会在日志中记录连接细节,包括客户端的IP地址,不过搜索结果提到这种方法会增加磁盘I/O和存储需求,不建议长期使用。

3、使用抓包工具:可以建立客户端ID与IP的关联关系,这种方法需要交叉分析,但能提供更丰富的信息。

可选方案

结合实际情况,在不影响线上业务的情况下,快速查出正在向broker发送消息的ip即可,故选择第一个方案,在kafka broker节点上使用 

netstat -anp | grep :9092 | grep ESTABLISHED

或者

lsof -i :9092 | grep java

这里最终使用 netstat,但是打印出来的消息较多,里面包含集群中的其他broker、消费端的ip,结合grep -v排除集群的其他ip和消费端ip 和 awk确定打印指定列

最终方案

netstat -anp | grep :9092 | grep ESTABLISHED  | grep -v '消费端IP' | grep -v '集群中其他节点IP'  | awk '{print $5}'

通过以上命令就可以快速找到推送端ip地址了

相关文章:

  • SLAM文献之-LOAM: Lidar Odometry and Mapping in Real-time
  • 2025-06-14【视觉】视频转化为图集
  • 2.4.1 ASPICE的编码与单元测试
  • 新能源汽车电子架构革命:深度解析AUTOSAR标准与实践
  • leetcode_49 字母异位分组
  • 写出优秀的 Git 提交信息:一份详尽指南(Angular 风格)
  • 板凳-------Mysql cookbook学习 (十--6)
  • 1 Studying《Arm A715 Software Optimization Guide》
  • Vue 事件修饰符详解
  • Java相关-链表-设计链表-力扣707
  • JavaScript基础-阻止事件冒泡
  • Linux 系统目录结构概述-linux024
  • 实现回显服务器(基于UDP)
  • 自定义 eslint 规则
  • PDF转Markdown基准测试
  • SKUA-GOCAD入门教程-第八节 线的创建与编辑3
  • uniapp的app项目,在华为pad上运行,页面显示异常
  • Odoo 如何系统地管理产品从概念设计到废弃淘汰的全过程
  • pycharm 2025.1.1-专业版jupyter notebook远程连接
  • 从STM32到NXP:GPIO就像装修房子,多了个“智能开关”
  • 网站搭建 保定/百度问答
  • 重庆网站建设外贸/优化网站排名技巧
  • 制作班徽的小程序/无锡网站制作优化
  • 浏览器正能量网站2021/黄页
  • 网站建设api/济南竞价托管公司
  • 青岛网站建设哪家专业/专业的seo搜索引擎优化培训