记一次生产Kafka出口流量暴涨问题
接到告警,业务的Kafka出口流量异常,这个kafka一直是订单类在用,平时插入的数据不会达到这个规模。其次,入口带宽很少,出口带宽这么多,掐指一算,大概率是消费的服务出现问题了。一般入口带宽和出口带宽 不是消费组特别多的情况下,两个的带宽相差不会太悬殊。
查找凶手
用 iftop
看了一下大致流量情况
发现主要流量流出到3.84和3.85这两台机
用 tcpdump -i eth0 host <kafka ip> and host <xxx.xxx.3.84> -w test.cap
抓取了几秒这两个主机相关的包
基本确定了流量使用多的端口,主要是 3.141:9093(Kafka) 发送给 3.84:15630 的流量比较多。
看了下(3.84:15630 -> 3.141:9093 )的内容 基本可以确定是哪个topic和消费组。
不抓包的话 用netstat来简单过滤下,如果两个主机间建立的连接比较少的话,基本也能定位出是哪个端口,如下
1 | [root@xxx-xxx-3.141 ~]#netstat -ano|grep xxx.xxx.3.84 |
接下来就需要找出3.84:15630是哪个服务监听的端口。
到3.84这台机执行 lsof -i:端口 得到进程ID
然后用 ps aux | grep