理解Ubuntu服务器状态信息

我正在尝试创build一个简单的shell脚本来监视我的服务器。 我计划build立一个CRON工作,每5或10分钟运行一次。

这是如何工作的:

  1. 运行一些linux命令,例如iostat,mpstat,top等,并将结果输出到一个文本文件
  2. 通过CURL将文本文件发送到将接收文本文件并处理数据的URL,然后将重要指标发布到数据库

我打算使用这些数据来确定何时需要升级我的服务器。

但是,我没有太多的服务器监控经验,所以我不知道我应该寻找什么样的门槛。 例如,当我运行像mpstat -P ALL类的东西时,什么样的数字会让我感到困扰? 还是iostat

我只是希望能够有一些参考点来了解我的服务器何时处于良好状态,即负载是否合理,状态是否过载,以及是否需要升级或负载平衡。

提前致谢。

我会说, 免费的Monit会是一个更合适的工具来testing你正在寻找的门槛,并给出一个简单的系统的健康一目了然的看法 。

开箱即用,您可以设置一些基本检查。 这个语法是非常容易理解的,所以一个准系统设置可以检查系统负载,内存使用情况,交换使用情况,CPU使用率和各种挂载点的磁盘空间,并且可以发送一封电子邮件,如下所示:

 if loadavg (1min) > 6 then alert if loadavg (5min) > 5 then alert if memory usage > 90% then alert if swap usage > 20% then alert if cpu usage (user) > 90% then alert if cpu usage (system) > 75% then alert if cpu usage (wait) > 75% then alert check device root with path / if SPACE usage > 80% then alert check device var with path /var if SPACE usage > 80% then alert check device usr with path /usr if SPACE usage > 80% then alert check device tmp with path /tmp if SPACE usage > 80% then alert 

另外,我知道你说的是你不需要任何graphics工具,但是有一些东西可以跟踪趋势是有意义的。 穆宁是一个很好的工具。 还有很多,但值得考虑。

欧比希尔:那么,你正在重新发明轮子。 收集所有的数据,parsing和分析是一个解决的问题,你不应该改写另一个时间。

SNMP是收集系统信息进行进一步处理的一个非常方便的方式(例如,使用MRTG绘制趋势或将数据传递给Nagios或类似的监控程序)。

CactiMunin这样的程序也可以为你做这一切。

你有多less台服务器?

也许你应该看看Puppet,RunDesk或ControlTier。