如何快速查明 *nix 服务器是否运行正常?

如何快速查明 *nix 服务器是否运行正常?

通常,当我发现自己站在 unix/linux(或任何其他 *nix 变体)控制台前并必须快速诊断服务器的状况时,我只是记不住应该检查的所有内容。

我将尝试 vmstat、一些 ps/top 操作、读取 procinfo 和一些日志文件(boot 和 sys),但我真正想要的是一种快速查看 CPU、硬盘和物理内存状况的方法。

我似乎知道很多内容已经存在于 vmstat 中,但不知何故,我怀念服务器 2008 的便捷,在那里你可以找到一个很好的资源监视器,而任务管理器本身也可以快速查看系统状况(更不用说服务器 2008 的监控图形工具了)。

有什么建议吗,或者我只是因为 vmstat 真的是圣杯而感到无能为力?


编辑:非常感谢大家的反馈。我应该补充一点,我实际上并不是在谈论持续监控(nagios 是一个很好的选择),而是偶尔走到服务器(不一定是我的)进行快速系统状况查找(有时我恰好在某个地方,然后砰的一声,嘿,你能过来检查一下吗?)

坚持使用一些实用脚本确实很好,已经有一个适用于 Windows 机器的 sysinternals 应用程序。Htop 也很酷,尽管我不认为能够随时随地安装它。

答案1

顶部是一个很好的工具(如果安装了),但我喜欢的另一个可以快速查看是否有问题的工具是消息。这样您就可以知道服务器是否遇到了非常严重的问题(网卡断开、磁盘故障、内存故障等)。

答案2

如果你想在 Linux 下使用一些花哨的功能 - 可以尝试一下顶部

它是类固醇的顶级产品,您可以将其配置为在“条形图”上显示用户空间/系统/iowait/irqs 中花费的 CPU 时间。这可能会让您很好地了解负载的原因。

不过 - 您从 vmstat 获取的一些信息将不会显示在 htop 中。

你也可以看看 sar系统状态.[ Kyle Brandt 提到的 iostat 是同一软件包的一部分]。

答案3

根据你拥有的服务器数量,你可能需要设置纳吉奥斯或类似的监控系统。基本上,你设置指标(CPU 使用率、内存使用率等)的限制,如果超过限制,你会收到警报,可能是页面或电子邮件或其他任何东西。但是,如果这是你的家用电脑,我发现自己使用纳米。它非常适合全面了解您的系统。它将显示有关内存、磁盘、CPU 和网络使用情况的信息以及内核信息。

答案4

当我登录到报告了问题的主机时,我通常会首先运行 top。它为您提供了 cpu、内存、运行队列长度的良好概览,然后我可以从中了解下一步要调查的内容。如果 iowait 已启动,我会查看 iostat,如果内存不足,我会查看 ps,看看哪些进程正在使用内存(或者只是按内存对 top 进行排序)等...

unix 的优点在于您不必接受所提供的工具。编写一个脚本来显示您想要的信息。

iostat vmstat top ps(记住您可以自定义 ps 的输出字段 - 使用 gnu ps 时相当困难)df dmesg /var/log/messages sar 您可以使用 syslogNG 将所有关键日志消息过滤到单独的日志文件中。

在 Linux 上值得检查的一个不寻常的事情是 /proc/mounts。有时文件系统变为只读,但 mount 不会显示,但 /proc/mounts 会显示。我在虚拟机和 FC 存储上都看到过这种情况(例如,路径以奇怪的方式消失)。

相关内容