是谁杀了我?

💡 原文中文,约1200字,阅读约需3分钟。
📝

内容提要

同事告诉我两台机器上的node-exporter挂掉了,进程启动后立即退出。经过调查发现是systemd给进程发送了SIGTERM信号。通过检查发现有人通过ssh运行了systemctl stop node-exporter命令并循环杀死进程。问题解决后发现是野路子。

🎯

关键要点

  • 同事报告两台机器上的node-exporter进程挂掉。
  • 通过journalctl查看日志,发现进程启动成功但立即退出。
  • 检查内存、CPU和磁盘指标,确认不是硬件问题。
  • 在shell中直接运行进程正常,怀疑是systemd或其他进程干掉了它。
  • 使用killsnoop工具发现systemd发送了SIGTERM信号给进程。
  • 推测systemd发送信号的原因,排除进程fork的可能性。
  • 使用execsnoop检查到systemctl stop node-exporter命令被执行。
  • 发现执行命令的bash进程是通过ssh登录后运行的。
  • 使用strace确认bash进程在循环杀死node-exporter。
  • 终止bash进程后问题解决,得知是有人故意操作。
➡️

继续阅读