先引用一段网上最常用到的一段话对sysstat做一个介绍:“SYSSTAT是一个软件包,包含监测系统性能及效率的一组工具,这些工具对于我们收集系统性能数据,比如CPU使用率、硬盘和网络吞吐数据,这些数据的收集和分析,有利于我们判断系统是否正常运行,是提高系统运行效率、安全运行服务器的得力助手”。
对这个工具包我们有了一个大致的了解,那么接着看下他都包含了那些工具:
◆iostat 工具提供CPU使用率及硬盘吞吐效率的数据;
◆mpstat 工具提供单个处理器或多个处理器相关数据;
◆sar 工具负责收集、报告并存储系统活跃的信息;
◆sa1 工具负责收集并存储每天系统动态信息到一个二进制的文件中。它是通过计划任务工具cron来运行,是为sadc所设计的程序前端程序;
◆sa2
工具负责把每天的系统活跃性息写入总结性的报告中。它是为sar所设计的前端 ,要通过cron来调用
◆sadc 是系统动态数据收集工具,收集的数据被写一个二进制的文件中,它被用作sar工具的后端;
◆sadf 显示被sar通过多种格式收集的数据;
看完了所包含的工具,我们接着进行安装。目前主流的linux系统里都自带有sysstat的集成包。如果我们在装系统时没有装上,也可以通过网络或系统软件包找到它并方便的安装。在常用的centos/redhat平台下我们可以通过下列命令安装:
yum -y install sysstat
在Debian、ubuntu或deb软件包为基础的系统下,我们可以通过:
apt-get install sysstat
当然,我们也可以通过源码包安装。安装完成后,可以通过rpm -ql命令查看具体所安装的文件和位置:
# rpm -ql sysstat /etc/cron.d/sysstat /etc/rc.d/init.d/sysstat /etc/sysconfig/sysstat /etc/sysconfig/sysstat.ioconf /usr/bin/cifsiostat /usr/bin/iostat /usr/bin/mpstat /usr/bin/sadf /usr/bin/sar /usr/lib64/sa /usr/lib64/sa/sa1 /usr/lib64/sa/sa2 /usr/lib64/sa/sadc 后面的部分省略……
从上面的几个文件我们也不难看出,该工具安装好以后,会自动在init.d目录增加一个自启动脚本。
#!/bin/bash [ -r /etc/sysconfig/sysstat ] && . /etc/sysconfig/sysstat RETVAL=0 # See how we were called. case "$1" in start) exitCodeIndicator="$(mktemp /tmp/sysstat-XXXXXX)" || exit 1 echo -n "Calling the system activity data collector (sadc): " /usr/lib64/sa/sadc -F -L ${SADC_OPTIONS} - || rm -f ${exitCodeIndicator} # Try to guess if sadc was successfully launched. The difficulty # here is that the exit code is lost when the above command is # run via "su foo -c ..." if [ -f "${exitCodeIndicator}" ]; then rm -f ${exitCodeIndicator} else RETVAL=1 fi echo ;; stop|status|restart|reload) ;; *) echo "Usage: sysstat {start|stop|status|restart|reload}" exit 1 esac exit ${RETVAL}
另外会在cron.d目录,自动新增一个crontab任务:
vim /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
/etc/sysconfig/sysstat文件主要配置历史数据保存的天数。/etc/sysconfig/sysstat.ioconf是一些配置参数。一般不需要变动。
以上大致对sysstat工具包做了一个简单的说明,具体里面每个工具的用法,我会放在另一篇日志里进行介绍。