如何使用Centos 4.3中的Sysstat监视系统
系统管理员的常见任务是监视和关心服务器。 这是一个很简单的时刻通知,但如何保持这个信息的记录随着时间的推移? 监控服务器的一种方法是使用Sysstat软件包。
Sysstat实际上是用于收集关于linux安装性能的信息的实用程序的集合,并且随着时间的推移来记录它们。
这也很容易安装,因为它被包含在许多发行版中的包中。
要安装在Centos 4.3上,只需键入以下内容:
yum install sysstat
我们现在在系统上安装了sysstat脚本。 让我们尝试sar
命令。
sar
Linux 2.6.16-xen (xen30) 08/17/2006 11:00:02 AM CPU %user %nice %system %iowait %idle 11:10:01 AM all 0.00 0.00 0.00 0.00 99.99 Average: all 0.00 0.00 0.00 0.00 99.99
报告了一些信息,如Linux内核,主机名和日期。
更重要的是,显示CPU花费在系统上的各种方式。
%user
, %nice
, %system
, %iowait
和%idle
描述了CPU可能被使用的方式。
%user
和%nice
指您的软件程序,如MySQL或Apache。
%系统
是指内核的内部工作。
%iowait
是等待输入/输出的时间,例如磁盘读取或写入。 最后,由于内核占据可运行时间的100%,因此任何未使用的时间都会进入%idle
。
上述信息显示1秒的间隔。 随着时间的推移,我们如何跟踪这些信息?
如果我们的系统在%iowait
中一直持续运行,我们可能会推测磁盘太大,或者坏了。
至少我们会知道调查。
那么我们如何跟踪这些信息呢? 我们可以安排sar
定期运行,比如说每10分钟一次。
然后我们指示它将输出发送到sysstat的特殊日志文件供以后报告。
执行此操作的方法是使用Cron守护程序。
通过在/etc/cron.d
中创建一个名为sysstat
的文件,我们可以告诉cron每天运行sar。
幸运的是,安装的Systat软件包已经为我们做了这一步。
more /etc/cron.d/sysstat
# run system activity accounting tool every 10 minutes */10 * * * * root /usr/lib/sa/sa1 1 1 # generate a daily summary of process accounting at 23:53 53 23 * * * root /usr/lib/sa/sa2 -A
sa1
脚本将sar输出记录到sysstat的二进制日志文件格式, sa2
以人类可读格式报告。
报告写入/ var / log / sa
中的文件。
ls /var/log/sa
sa17 sar17
sa17
是二进制的sysstat日志, sar17
是报告。 (今天是17日)
sar报告中包含很多信息,但有几个值可以告诉我们服务器的繁忙程度。
要观看的值是交换使用,磁盘IO等待和运行队列。
这些可以通过手动运行sar获得,这将报告这些值。
sar
Linux 2.6.16-xen (xen30) 08/17/2006 11:00:02 AM CPU %user %nice %system %iowait %idle 11:10:01 AM all 0.00 0.00 0.00 0.00 99.99 11:20:01 AM all 0.00 0.00 0.00 0.00 100.00 11:30:02 AM all 0.01 0.26 0.19 1.85 97.68 11:39:20 AM all 0.00 2.41 2.77 0.53 94.28 11:40:01 AM all 1.42 0.00 0.18 3.24 95.15 Average: all 0.03 0.62 0.69 0.64 98.02
在%iowait
列中有一段磁盘活动高的位置,但并没有保持太长时间。 平均为0.64是相当不错的。
我的互换使用情况如何,我用完了Ram? 被交换出来的Linux内核是正常的,这将不时地交换。 不断的交换是坏的,一般意味着你需要更多的Ram。
sar -W
Linux 2.6.16-xen (xen30) 08/17/2006 11:00:02 AM pswpin/s pswpout/s 11:10:01 AM 0.00 0.00 11:20:01 AM 0.00 0.00 11:30:02 AM 0.00 0.00 11:39:20 AM 0.00 0.00 11:40:01 AM 0.00 0.00 11:50:01 AM 0.00 0.00 Average: 0.00 0.00
不,我们看起来不错。 没有发生持久的交换。
系统负载如何? 我的进程是否等待太久才能在CPU上运行?
sar -q
Linux 2.6.16-xen (xen30) 08/17/2006 11:00:02 AM runq-sz plist-sz ldavg-1 ldavg-5 ldavg-15 11:10:01 AM 0 47 0.00 0.00 0.00 11:20:01 AM 0 47 0.00 0.00 0.00 11:30:02 AM 0 47 0.28 0.21 0.08 11:39:20 AM 0 45 0.01 0.24 0.17 11:40:01 AM 0 46 0.07 0.22 0.17 11:50:01 AM 0 46 0.00 0.02 0.07 Average: 0 46 0.06 0.12 0.08
不,0.06的平均负载真的很好。
请注意,右侧有1,5和15分钟的间隔。
拥有三个时间间隔可以让您了解系统承载的负载。
在1分钟平均的3或4是可以的,但在15分钟内相同的数字
专栏可能表明工作没有清理,而且需要仔细观察。
这是Sysstat包的简短看法。
我们只看了三个sar的属性,但还有其他的。
现在,在你的工具箱里安装了sar,你的系统管理工作变得容易一些。