正如本文介绍部分提到的,这里有其它的工具你可以用来检测系统状态和利用率(不仅红帽,其它主流发行版的官方支持库中也提供了这些工具)。
sysstat 软件包包含以下工具:
sar (收集、报告、或者保存系统活动信息)。
sadf (以多种方式显示 sar 收集的数据)。
mpstat (报告处理器相关的统计信息)。
iostat (报告 CPU 统计信息和设备以及分区的 IO统计信息)。
pidstat (报告 Linux 任务统计信息)。
nfsiostat (报告 NFS 的输出/输出统计信息)。
cifsiostat (报告 CIFS 统计信息)
sa1 (收集并保存二进制数据到系统活动每日数据文件中)。
sa2 (在 /var/log/sa 目录写入每日报告)。
dstat 比这些工具所提供的功能更多一些,并且提供了更多的计数器和更大的灵活性。你可以通过运行 yum info sysstat 或者 yum info dstat 找到每个工具完整的介绍,或者安装完成后分别查看每个工具的 man 手册。
安装两个软件包:
#yum update &&yum install sysstat dstat
sysstat 主要的配置文件是 /etc/sysconfig/sysstat。你可以在该文件中找到下面的参数:
#Howlong to keep log files (in days).
#If value is greater than 28,then log files are kept in
# multiple directories, one for each month.
HISTORY=28
#Compress(using gzip or bzip2) sa andsar files older than (in days):
COMPRESSAFTER=31
#Parametersfor the system activity data collector (see sadc manual page)
# which are used for the generation of log files.
SADC_OPTIONS="-S DISK"
#Compression program to use.
ZIP="bzip2"
sysstat 安装完成后,/etc/cron.d/sysstat 中会添加和启用两个 cron 任务。第一个任务每 10 分钟运行系统活动计数工具,并在 /var/log/sa/saXX 中保存报告,其中 XX 是该月的一天。
因此,/var/log/sa/sa05 会包括该月份第 5 天所有的系统活动报告。这里假设我们在上面的配置文件中对 HISTORY 变量使用默认的值:
*/10 * * * * root /usr/lib64/sa/sa1 11
第二个任务在每天夜间 11:53 生成每日进程计数总结并把它保存到 /var/log/sa/sarXX 文件,其中 XX 和之前例子中的含义相同:
5323*** root /usr/lib64/sa/sa2 -A
例如,你可能想要输出该月份第 6 天从上午 9:30 到晚上 5:30 的系统统计信息到一个 LibreOffice Calc 或 Microsoft Excel 可以查看的 .csv 文件(这样就可以让你创建表格和图片了):
# sadf -s 09:30:00-e 17:30:00-dh /var/log/sa/sa06 --|sed's/;/,/g'> system_stats20150806.csv
你可以在上面的 sadf 命令中用 -j 标记代替 -d 以 JSON 格式输出系统统计信息,这当你在 web 应用中使用这些数据的时候非常有用。
Linux 系统统计信息