Chinaunix首页 | 论坛 | 博客
  • 博客访问: 115381
  • 博文数量: 13
  • 博客积分: 58
  • 博客等级: 民兵
  • 技术积分: 246
  • 用 户 组: 普通用户
  • 注册时间: 2009-12-25 21:34
个人简介

MySQL DBA Linux SA C/C++ Perl PHP Python Hadoop

文章分类

全部博文(13)

文章存档

2014年(8)

2013年(4)

2012年(1)

我的朋友

分类: LINUX

2013-03-01 14:23:15

由于sar版本较低,有些参数不支持,故对sar进行了升级。

升级前版本:

$sar -V
sysstat version 7.0.2

升级:

sudo yum update -y sysstat

升级后版本:

$sar -V
sysstat version 10.0.0

升级后遇到的问题:

$sar
Invalid system activity file: /var/log/sa/sa01

但是以下命令却都正常。

$sar -u 1
Linux 2.6.18-164.el5 (my112202.cm3) 03/01/2013 _x86_64_ (16 CPU)

01:55:51 PM CPU %user %nice %system %iowait %steal %idle
01:55:52 PM all 27.65 0.00 0.56 1.50 0.00 70.29
01:55:53 PM all 27.44 0.00 0.56 2.62 0.00 69.38
01:55:54 PM all 27.53 0.00 0.62 2.31 0.00 69.54
01:55:55 PM all 27.59 0.00 0.69 2.00 0.00 69.73
01:55:56 PM all 27.73 0.00 0.62 2.25 0.00 69.39
01:55:57 PM all 27.54 0.00 0.62 1.31 0.00 70.53
01:55:58 PM all 27.55 0.00 0.50 2.50 0.00 69.46
01:55:59 PM all 28.23 0.00 0.94 2.69 0.00 68.14
01:56:00 PM all 27.73 0.00 0.69 2.69 0.00 68.89

那么就是说,不能读取历史信息,但是可以监控实时信息。那么先看下/var/log/sa/这个目录下是什么吧。

这些文件应该是sar定时产生的系统统计信息,然后在查看历史信息的时候会打开对应文件。但是,因为版本升级之后,sa文件的格式也发生了变化,不能读取到这些文件的信息,所以报错了。

$ls -alth
total 16M
-rw-r--r-- 1 root root 522K Mar 1 13:40 sa01
drwxr-xr-x 29 root root 4.0K Mar 1 04:02 ..
-rw-r--r-- 1 root root 937K Feb 28 23:53 sar28
-rw-r--r-- 1 root root 905K Feb 28 23:50 sa28
-rw-r--r-- 1 root root 937K Feb 27 23:53 sar27
-rw-r--r-- 1 root root 905K Feb 27 23:50 sa27
-rw-r--r-- 1 root root 937K Feb 26 23:53 sar26
-rw-r--r-- 1 root root 905K Feb 26 23:50 sa26
-rw-r--r-- 1 root root 937K Feb 25 23:53 sar25
-rw-r--r-- 1 root root 905K Feb 25 23:50 sa25
-rw-r--r-- 1 root root 937K Feb 24 23:53 sar24
-rw-r--r-- 1 root root 905K Feb 24 23:50 sa24
-rw-r--r-- 1 root root 937K Feb 23 23:53 sar23
-rw-r--r-- 1 root root 905K Feb 23 23:50 sa23
-rw-r--r-- 1 root root 937K Feb 22 23:53 sar22
-rw-r--r-- 1 root root 905K Feb 22 23:50 sa22
-rw-r--r-- 1 root root 937K Feb 21 23:53 sar21
-rw-r--r-- 1 root root 905K Feb 21 23:50 sa21
-rw-r--r-- 1 root root 937K Feb 20 23:53 sar20
drwxr-xr-x 2 root root 4.0K Mar 17 2011 .


strace证明确实是去打开该文件了。ok那么以上的判断就没错。再看文件时间戳,发现都是2个时间点的,那么肯定是定时任务搞的,google了下并确认了下sysstat包都安装了哪些文件,最后问题是。升级之后,/etc/cron.d/sysstat文件被注释掉了,需要打开即可。

$strace sar -v
......
open("/var/log/sa/sa01", O_RDONLY) = 3 
.....
write(2, "Invalid system activity file: /v"..., 47Invalid system activity file: /var/log/sa/sa01
) = 47
close(3) = 0
exit_group(3) = ?


/etc/cron.d/sysstat内容如下

$ cat /etc/cron.d/sysstat
# Run system activity accounting tool every 10 minutes
*/10 * * * * root /usr/lib64/sa/sa1 -S DISK 1 1
# 0 * * * * root /usr/lib64/sa/sa1 -S DISK 600 6 &
# Generate a daily summary of process accounting at 23:53
53 23 * * * root /usr/lib64/sa/sa2 -A


再看下面的信息,正好说明了,更新之后sar不能识别旧版本的sa文件,故报错了。

正常情况下如下,可以看到历史信息是存放在这些文件的。
$ sar -f sa21 |less 
Linux 2.6.32-220.17.1.tb619.el6.x86_64 (my225052.cm4) 2013年02月21日 _x86_64_ (16 CPU)
00时00分01秒 CPU %user %nice %system %iowait %steal %idle
00时10分01秒 all 1.06 0.05 0.45 1.63 0.00 96.81
00时20分01秒 all 0.97 0.00 0.44 1.48 0.00 97.11
00时30分01秒 all 0.98 0.00 0.42 1.31 0.00 97.28
00时40分01秒 all 0.91 0.00 0.46 1.40 0.00 97.24
00时50分01秒 all 0.85 0.00 0.41 1.30 0.00 97.44
01时00分01秒 all 0.85 0.05 0.42 1.30 0.00 97.39
01时10分01秒 all 0.80 0.00 0.39 1.05 0.00 97.76
01时20分01秒 all 0.76 0.00 0.39 1.15 0.00 97.70
01时30分01秒 all 0.77 0.00 0.40 1.14 0.00 97.70
01时40分01秒 all 0.75 0.05 0.42 1.16 0.00 97.62
01时50分01秒 all 0.78 0.00 0.39 1.12 0.00 97.71
......

更新之后:
$ sar -f sa21
Invalid system activity file: /var/log/sa/sa21

阅读(3710) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

lyhabc2015-02-24 10:49:36

刚好遇到这个问题