0%

排查瞬时连接所属进程

背景

用户反馈有一批 yarn 机器上的进程访问了他们的服务,让我帮忙查查是哪个作业在访问。只要能确定是哪个进程,就能找到对应作业。刚开始使用 netstat 找不到,后面通过 auditctl 找到了进程。因为学到了新命令,在这里简单记录一下过程。

过程

使用 netstat

登陆 yarn 机器,执行 netstat 命令,发现连接都是处于 TIME_WAIT 状态,意味着无法找到 pid

netstat -pantu | grep $ip | grep $port

使用 auditctl

auditctl -a exit,always -F arch=b64 -S connect -k $ip:$port

执行一段时间后,关闭 auditctl

auditctl -d exit,always -F arch=b64 -S connect -k $ip:$port

通过以下命令找到 pid

ausearch -hn $ip | grep -i SYSCALL | grep -i "$ip:$port" | awk '{print $12}' | sort | uniq -c | sort -k1n

参考