我感兴趣的是监视 Linux 系统中运行的进程并快速确定它们何时卡住/无休止地运行。一旦确定了这一点,我还想采取一些操作(例如转储一些调试信息、重新启动进程等)。
我知道我可以使用 systemd 检测卡住的进程,但不幸的是我无法采取行动(在哪里可以指定当某些进程心跳丢失时要运行的脚本?)
您是否知道其他类似于看门狗监视器的工具? (进程可以向它们注册,开始发送心跳,如果错过了一些心跳,工具会采取一些操作。
我知道我可以编写自己的工具 - 我只是想知道是否有其他工具提供此功能。
谢谢你,安德烈亚
答案1
听起来您正在寻找具有更多problem->action
类型监控的东西,这超出了大多数内置 Linux 监控工具的范围,例如:
- 顶部
- 虚拟机状态
- 拉索夫
- tcp转储
- 网络统计
- 顶部
- 奥托普
- iostat
我建议研究类似http://www.zabbix.com/
或http://www.nagios.org/
的系统监控。我目前使用 zabbix 为我的公司监控多个网络上的 300 多个独特主机。它非常适合创建自定义监控参数,并且还可以绘制历史数据图表,以便于可视化监控和解决问题。您还可以创建actions
我出现的问题,例如:(这不是实际的语法,只是一个想法)。if cpu>80% -> email [email protected] "There is a problem!"