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

通常当我发现自己在unix / linux(或任何其他的* nix变种)控制台前面,并且必须快速诊断服务器的状态时,我不记得应该检查的所有东西。

我会尝试vmstat,一些ps /顶部操纵,阅读procinfo和一些日志文件(引导和系统),但我真的很喜欢是一个快速的方式来查看CPU,硬盘和物理内存条件。

我似乎知道很多已经存在于vmstat,但不知何故,我错过了服务器2008的便利,在那里你可以find一个很好的资源监视器,即使任务pipe理器本身可以提供一个系统条件(甚至不甚至谈论服务器2008年的监测图工具)。

任何build议,还是我只是跛脚,因为vmstat真的是圣杯?


编辑:非常感谢大家的反馈。 我应该补充一点,我并不是在谈论持续的监控(在那里nagios是一个非常好的主张),而是偶尔走到服务器上 – 不一定是我的 – 做一个快速的系统状态查找(有时我恰好是Bang,Hey,你能过来检查一下吗?)

有一些实用程序脚本的棒确实不错,已经有一个用于Windows机器的sysinternals应用程序。 Htop也很酷,虽然我不认为能够在任何地方安装它。

顶部是一个好工具(如果它安装),但另一个我喜欢真正快速查看是否有什么是错误的是dmesg 。 这应该让你知道,如果服务器遇到一些令人难以置信的重大(断开nics,磁盘故障,内存故障等)。

如果你想在Linux下做一些小小的哨笛 – 试试htop 。

它是类固醇的顶部,你可以configuration它显示在'bars'cpu时间花在userland / system / iowait / irqs上。 这可能会给你很好的看法是什么是负载的原因。

仍然 – 从vmstat获得的一些信息将不会显示在htop中。

你也可以从sysstat中看看sar。 [由Kyle Brandt提到的iostat是同一个软件包的一部分]。

取决于你有多less台服务器,你可能需要为此设置nagios或类似的监控系统。 基本上,你设置的指标(CPU使用率,内存使用量等)的限制,如果超过限制,你会收到一个警报,这可能是一个页面或电子邮件或任何。 但是,如果这是你的家用电脑,我发现自己使用nmon 。 全面了解您的系统非常棒。 它将显示有关内存,磁盘,CPU,networking使用情况以及内核信息的信息。

不要忘记iostat,是sysstat包的一部分。 如果你想要一个容易移植的东西,为什么不写一个你可以随着时间的推移开发的shell或perl脚本? 这将是了解系统之间的差异并更好地编写脚本的好方法。 通常可以从proc中parsing大部分信息,或者只是包装所有这些工具。

当我login到报告问题的主机时,我通常会将其作为第一个呼叫点。 它给你一个很好的CPU,内存,runqueue长度的概述,然后从那里我可以得到一个想法,接下来要调查。 如果iowait上来,我看iostat,如果内存低,我ps,看看什么进程正在使用内存(或只是按内存sorting)等…

关于unix的美丽的事情是你不必接受提供的工具。 写一个脚本,显示你想要的信息。

iostat vmstat top ps(记住你可以自定义ps的输出字段 – 相当于用gnu ps丢失的q)df dmesg / var / log / messages sar你可以使用syslogNG将所有的crtical日志消息过滤到单独的日志文件中。

一个不寻常的(ISH)是值得检查的Linux是/ proc / mounts。 有时候,文件系统只能读取,但是不会通过mount来显示,而是显示在/ proc / mounts中。 我已经在虚拟机和FC存储上看到了这一点(例如,path以奇怪的方式消失)。

另一个“顶级类固醇”计划: 顶上 。 如此详细,这是可怕的。