先引用一段网上最常用到的一段话对sysstat做一个介绍:“SYSSTAT是一个软件包,包含监测系统性能及效率的一组工具,这些工具对于我们收集系统性能数据,比如CPU使用率、硬盘和网络吞吐数据,这些数据的收集和分析,有利于我们判断系统是否正常运行,是提高系统运行效率、安全运行服务器的得力助手”。

对这个工具包我们有了一个大致的了解,那么接着看下他都包含了那些工具:

  • iostat 工具提供CPU使用率及硬盘吞吐效率的数据;

  • mpstat 工具提供单个处理器或多个处理器相关数据;

  • sar 工具负责收集、报告并存储系统活跃的信息;

  • sa1 工具负责收集并存储每天系统动态信息到一个二进制的文件中。它是通过计划任务工具cron来运行,是为sadc所设计的程序前端程序;

  • sa2 工具负责把每天的系统活跃性息写入总结性的报告中。它是为sar所设计的前端 ,要通过cron来调用

  • sadc 是系统动态数据收集工具,收集的数据被写一个二进制的文件中,它被用作sar工具的后端;

  • sadf 显示被sar通过多种格式收集的数据;

看完了所包含的工具,我们接着进行安装。目前主流的linux系统里都自带有sysstat的集成包。如果我们在装系统时没有装上,也可以通过网络或系统软件包找到 它并方便的安装。在常用的centos/redhat平台下我们可以通过下列命令安装:

1yum -y install sysstat

在Debian、ubuntu或deb软件包为基础的系统下,我们可以通过:

1apt-get install sysstat

当然,我们也可以通过源码包安装。安装完成后,可以通过rpm -ql命令查看具体所安装的文件和位置:

 1# rpm -ql sysstat
 2/etc/cron.d/sysstat
 3/etc/rc.d/init.d/sysstat
 4/etc/sysconfig/sysstat
 5/etc/sysconfig/sysstat.ioconf
 6/usr/bin/cifsiostat
 7/usr/bin/iostat
 8/usr/bin/mpstat
 9/usr/bin/sadf
10/usr/bin/sar
11/usr/lib64/sa
12/usr/lib64/sa/sa1
13/usr/lib64/sa/sa2
14/usr/lib64/sa/sadc  后面的部分省略……

从上面的几个文件我们也不难看出,该工具安装好以后,会自动在init.d目录增加一个自启动脚本。

 1#!/bin/bash
 2[ -r /etc/sysconfig/sysstat ] && . /etc/sysconfig/sysstat
 3RETVAL=0
 4# See how we were called.
 5case "$1" in
 6  start)
 7        exitCodeIndicator="$(mktemp /tmp/sysstat-XXXXXX)" || exit 1
 8        echo -n "Calling the system activity data collector (sadc): "
 9        /usr/lib64/sa/sadc -F -L ${SADC_OPTIONS} - || rm -f ${exitCodeIndicator}
10# Try to guess if sadc was successfully launched. The difficulty
11# here is that the exit code is lost when the above command is
12# run via "su foo -c ..."
13        if [ -f "${exitCodeIndicator}" ]; then
14                rm -f ${exitCodeIndicator}
15        else
16                RETVAL=1
17        fi
18        echo
19        ;;
20  stop|status|restart|reload)
21        ;;
22  *)
23        echo "Usage: sysstat {start|stop|status|restart|reload}"
24        exit 1
25esac
26exit ${RETVAL}

另外会在cron.d目录,自动新增一个crontab任务:

1vim /etc/cron.d/sysstat
2# run system activity accounting tool every 10 minutes
3*/10 * * * * root /usr/lib64/sa/sa1 1 1
4# generate a daily summary of process accounting at 23:53
553 23 * * * root /usr/lib64/sa/sa2 -A

/etc/sysconfig/sysstat文件主要配置历史数据保存的天数。/etc/sysconfig/sysstat.ioconf是一些配置参数。一般不需要变动。

以上大致对sysstat工具包做了一个简单的说明,具体里面每个工具的用法,我会放在另一篇日志里进行介绍。