如何使用 Nagios 收集服务器在无法访问/停机期间的性能数据?

如何使用 Nagios 收集服务器在无法访问/停机期间的性能数据?

有时,由于服务器性能不佳,服务和主机会停止响应。我的意思是,如果由于某种原因(可能是大量并发服务访问、服务器上昂贵的备份执行或任何消耗大量服务器资源的原因),服务器性能会大幅下降,这可能会导致服务器无法建立任何“正常网络通信”(不会触发为此类通信定义的任何标准超时)。

了解主机的性能数据(CPU,内存,...)在可用期间(主机没有关闭,并且尽管其性能下降仍然允许插件收集性能数据)对于系统管理员尝试确定问题的原因非常有用,或者至少,如果主机性能良好并且根本不会干扰主机/服务关闭。

如果远程解决方案能够存储(缓冲的)性能数据,并在主机性能或网络中断允许的情况下将其发送到中央 Nagios 服务器,则可以使用远程主动 (NRPE) 或远程被动 (NSCA) 解决此问题。我阅读了这两种解决方案的文档,但找不到任何关于这种缓冲机制的参考资料,也不知道如果 NSCA 无法到达 Nagios 服务器会发生什么情况。

有什么想法可以解决这种信息缺失的问题吗?这对于法医分析非常有用。

编辑:

我的问题不是我可以使用哪些工具来调试性能问题或收集性能数据进行分析,而是如何在网络中断期间收集(使用 Nagios)主机性能数据以进行事后分析(一种取证分析)。我的想法是将这些数据集成到 Nagios 绘图器中,如 pnp4nagios 和 NagiosGrapther。我知道我可以在我的每台主机上安装 Cacti 之类的工具,并具有某种性能数据收集冗余,但我真的想避免这种情况,并尝试使用一种工具解决所有性能分析要求:Nagios

答案1

我不太确定 Nagios 是否如此,但如果您可以登录服务器,您可以收集以下详细信息,这将有助于您缩小问题范围。借助以下命令,您可以确定谁消耗了更多的 CPU 和内存。或者系统是否处于 OOM 状态。

top -n 5 -b 
vmstat 1 50 
iostat -x 2 10
ps -aufx 
sar 1 50 
cat /proc/meminfo 
cat /proc/buddyinfo 

相关内容