你用什么来监控服务器 CPU 峰值/进程

你用什么来监控服务器 CPU 峰值/进程

有时,我的 apache/Passenger Rails 服务器的 CPU 使用率会突然达到 100%,然后停止工作。我需要一种方法来监控哪个进程导致其使用率达到 100%?我可以使用哪些工具来监控这些事情

谢谢

答案1

我喜欢 Nagios(http://www.nagios.org/) 和 Zabbix(http://www.zabbix.com/)。监视(http://mmonit.com/)可以修复系统。

如果您需要图形,请使用 Zabbix;如果您需要管理和修复,请使用 Monit;其他,请使用 Nagios。如果您不需要 Web 管理和状态,请使用 nagios-plugins check_cpu 和您喜欢的编程语言。

答案2

如果你想监控服务器进程以查看问题所在,只需设置一个脚本,在 CPU 使用率或平均负载过高时拍摄快照,并将其放入 cron 中

#/bin/bash
if [[ `cut -d. -f1 /proc/loadavg` -gt 4 ]]; then
    top -n 1  | head -n20 >> /tmp/process-check.log
fi

如果您需要查看 Apache 内部,请启用服务器状态,并在负载或 CPU 使用率过高时运行 curl 来提取服务器状态的快照。

有关 mod_status 的更多信息,请访问http://httpd.apache.org/docs/2.0/mod/mod_status.html

相关内容