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

有些时间服务和主机由于服务器性能差而停止响应。 我的意思是,如果由于某种原因(可能是大量的并发服务访问,服务器上昂贵的备份执行或者耗费大量服务器资源的任何操作),服务器性能会降低,这可能导致服务器无法build立任何“正常的networking通信”(不触发为此类通信定义的任何标准超时)。

知道主机的性能数据(CPU,内存,…),在这段时间内可用的情况下(主机没有closures,尽pipe性能下降仍然允许插件收集性能数据)可能是非常有用的系统pipe理员尝试确定是什么原因这个问题,或者至less,如果主机性能好,在主机/服务中根本不受干扰。

如果这样的远程解决scheme可以在主机性能或networking中断允许时将存储(缓冲)的perf数据发送到中央Nagios服务器,则可以使用远程主动(NRPE)或远程被动(NSCA)来解决该问题。 我读了这两个解决scheme的文档,找不到任何这样的缓冲机制的参考NSCA无法到达Nagios服务器的情况下发生了什么。

任何想法如何解决这种信息的缺乏? 对法医分析非常有用。

编辑:

我的问题是关于哪些工具可以用来debugging性能问题或收集性能数据来进行分析,但是关于如何收集(使用Nagios)主机性能数据甚至在networking中断期间进行后验分析(法医分析的种类)。 这个想法是将这些数据集成到像NagpGrapther和NagiosGrapther这样的Nagios绘图软件。 我知道我可以在每个主机中安装像Cacti这样的工具,并且有一种性能数据收集冗余,但我真的想避免这种情况,并尝试用一种工具来解决所有性能分析需求:Nagios

我不确定Nagios,但是如果你可以login到服务器,你会收集下面的细节,这将有助于你缩小问题的范围。 在下面的命令的帮助下,您可以识别谁消耗了更多的CPU和内存。 或者是系统处于OOM状态。

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