我通常会在我们所有的 Linux 服务器上安装 Nagios 代理,这样我们就可以实时获得有关它们发生情况的详细报告,并且还可以获得历史数据。
但是,有一台 RHEL 7 服务器,我们无法在其上安装 Nagios 代理(或通过 ssh 等方式监控它),并且该服务器的平均负载每隔几天就会上升一次。这是一台 Web 服务器,当用户抱怨网站加载缓慢时,我们就会发现这一点。在大多数情况下,当我们登录并检查时,负载已恢复正常。
有没有什么方法,利用现成的操作系统工具和日志,我可以找出导致负载猛增的原因?
我查看了几乎所有日志文件,包括 Apache 日志等,但没有在其中发现任何明显的信息。
是否有任何工具或守护进程可以给我提供有关此类事件的更多信息?
答案1
您可以使用监控。该程序会定期检查(可调整的时间间隔 - 2 分钟、5 分钟……)许多重要的系统参数,loadavg
我认为默认情况下它是开启的。
当参数 ( loadavg
) 超出可调整的阈值时,默认会向您发送通知电子邮件。如果方便,您可以通过 ssh 和 dotop / htop /ps
等标准工具登录,以便快速粗略地了解正在发生的事情。
第二个选项是配置 Monit 的自定义脚本执行而不是(或与)发送通知电子邮件。此自定义脚本可能很简单top -n 1 >> /tmp/performancefindings.txt
,您将有一个良好的起点来调查高负载平均值。