全部博文(113)
分类: LINUX
2011-09-29 09:44:38
Linux Sysstat是linux系统免费提供用于收集主机性能的一个软件包,不是默认安装的,需要自己安装。
安装方法略....
下面说一下在安装完sysstat包后,怎样DIY设定收集哪些系统性能指标,默认的参数请查看(以下实例,如果不特别说明都是在RedHat 5.4 64bit上操作的结果):
系统信息
[root@ ~]# uname -a
Linux 2.6.18-164.el5 #1 SMP Tue Aug 18 15:51:48 EDT 2009 x86_64 x86_64 x86_64 GNU/Linux
性能收集配置文件
[root@ ~]# cat /etc/cron.d/sysstat
# run system activity accounting tool every 10 minutes
*/10 * * * * root /usr/lib64/sa/sa1 1 1
# generate a daily summary of process accounting at 23:53
53 23 * * * root /usr/lib64/sa/sa2 -A
[root@ ~]#
参数说明
o /etc/cron.d/sysstat为一个定时作业的格式编写的,我们可以自己调整它的执行时间间隔,要求每分钟执行一次,可将“*/10”改成“*/1”。
o */10 * * * * root /usr/lib64/sa/sa1 1 1 这一行的作用是执行sa1收集系统性能,后面的“1 1”表示sa1每次只执行一次,每次的性能收集时间跨度为一秒。
o 53 23 * * * root /usr/lib64/sa/sa2 -A 这使用是:每天的23:53分生成当天的性能数据。
系统性能数据记录文件
上面说到的由sa1生成的性能数据不明白的可以看下面两个文件的生成时间给出的实例,一个是:09-21 23:50 另一个是:09-21 23:53。
o [D]日期中的天数
sa[D]:表示性能原始数据收集的日期。不懂的可以看下面的实例说明,如果这个也看不懂的话,就回去磨墙吧。
sar[D]:这个是由sa2这个脚本调用sa[D]生成的,人可读的性能数据记录。
o 下面是实例:
[root@MoUnix ~]# ls -al /var/log/sa/sa21
-rw-r--r-- 1 root root 299760 09-21 23:50 /var/log/sa/sa21
[root@ ~]# ls -al /var/log/sa/sar21
-rw-r--r-- 1 root root 355287 09-21 23:53 /var/log/sa/sar21
[root@ ~]#
o 默认的保留天数为:7天,需要修改保留天数的可以在下面的文件中修改。
[root@ ~]# cat /etc/sysconfig/sysstat
# How long to keep log files (days), maximum is a month
HISTORY=7
[root@ ~]#
把上面的HISTORY=DAY,DAY为你想要的保留天数。
o 默认性能的收集策略是不收集磁盘性能数据到sa[D]文件中的,如果要收集磁盘的数据,我们就要手工DIY 一下了。
在exec ${ENDIR}/sadc -F -L 1 1 - 改为exec ${ENDIR}/sadc -F -d -L 1 1 -
将exec ${ENDIR}/sadc -F -L $* - 改为exec ${ENDIR}/sadc -F -d -L $* -
o 修改后的结果如下:
[root@ ~]# cat /usr/lib64/sa/sa1
#!/bin/sh
# /usr/lib64/sa/sa1.sh
# (C) 1999-2006 Sebastien Godard (sysstat
#
umask 0022
ENDIR=/usr/lib64/sa
cd ${ENDIR}
if [ $# = 0 ]
then
# Note: Stats are written at the end of previous file *and* at the
# beginning of the new one (when there is a file rotation) only if
# outfile has been specified as '-' on the command line...
exec ${ENDIR}/sadc -F -d -L 1 1 -
else
exec ${ENDIR}/sadc -F -d -L $* -
fi
[root@ ~]#
配置验证
这个要在系统中查看执行:sar -d -f /var/log/sa/sa[D],当天为29日则执行如下:sar -d -f /var/log/sa/sa29 ,有以下输出证明已经有效果了哦。
[root@ ~]# sar -d -f /var/log/sa/sa29 |more
Linux 2.6.18-164.el5 (MQHOST) 09/29/11
00:00:01 DEV tps rd_sec/s wr_sec/s avgrq-sz avgqu-sz await svctm %util
00:10:01 dev8-0 23.73 1.55 1149.67 48.50 2.40 101.00 1.42 3.37
00:10:01 dev8-1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
00:10:01 dev8-2 23.73 1.55 1149.67 48.50 2.40 101.00 1.42 3.37
00:10:01 dev253-0 0.35 0.00 2.83 8.00 0.01 30.10 2.94 0.10
00:10:01 dev253-1 25.67 0.00 205.34 8.00 0.59 22.92 0.13 0.35
00:10:01 dev253-2 0.01 0.00 0.09 8.00 0.00 2.14 2.14 0.00
……………………
有下面的输出就需要查原因了:
[root@ dev]# sar -d -f /var/log/sa/sa29
Requested activities not available in file
[root@ dev]#
方法有:
ü 重启一下sysstat服务。
ü 查看一下sysstat服务的配置,修改成随系统自启动的方式。
[root@ ~]# chkconfig sysstat --list
sysstat 0:off 1:off 2:on 3:on 4:off 5:on 6:off
[root@ ~]#