大多数Linux管理员使用SAR报告监视系统性能,因为它收集性能数据一周。但是,你可以通过更改“/etc/sysconfig/sysstat”文件轻松地将其延长到四周,此外,这段时间可以延长一个月以上,如果值超过28,则日志文件将放在多个目录中,每月一个。要将覆盖期延长至28天,请对“/etc/sysconfig/sysstat”文件进行以下更改,编辑sysstat文件并将HISTORY=7更改为HISTORY=28。在本文中,我们添加了三个bash脚本,可帮助你在一个位置轻松查看每个数据文件的平均值。这些脚本简单明了,出于测试目的,我们仅包括两个性能指标,即CPU和内存,你可以修改脚本中的其他性能指标以满足你的需求。
脚本1:Bash脚本从SAR报告中获取平均CPU利用率 此bash脚本从每个数据文件中收集CPU平均值并将其显示在一个页面上。 以下为示例,它显示了2019年8月的28天数据: # vi /opt/scripts/sar-cpu-avg.sh #!/bin/sh echo "+-----------------------------+" echo "|Average: CPU %user %nice %system %iowait %steal %idle |" echo "+-----------------------------+" for file in `ls -tr /var/log/sa/sa* | grep -v sar` do dat=`sar -f $file | head -n 1 | awk '{print $4}'` echo -n $dat sar -f $file | grep -i Average | sed "s/Average://" done echo "+-----------------------------+" 运行脚本后,你将获得如下所示的输出: # sh /opt/scripts/sar-cpu-avg.sh
参考:用top、vmstat、Htop、sar命令在Linux系统中检查CPU使用率/利用率。
脚本2:Bash脚本从SAR报告中获取平均内存利用率 此bash脚本将从每个数据文件中收集内存平均值并将其显示在一个页面上。 以下是示例,它显示了2019年8月的28天数据: # vi /opt/scripts/sar-memory-avg.sh #!/bin/sh echo "+-----------------------------+" echo "|Average: kbmemfree kbmemused %memused kbbuffers kbcached kbcommit %commit kbactive kbinact kbdirty |" echo "+-----------------------------+" for file in `ls -tr /var/log/sa/sa* | grep -v sar` do dat=`sar -f $file | head -n 1 | awk '{print $4}'` echo -n $dat sar -r -f $file | grep -i Average | sed "s/Average://" done echo "+-----------------------------+" 运行脚本后,你将获得如下所示的输出: # sh /opt/scripts/sar-memory-avg.sh
脚本3:Bash脚本从SAR报告中获取平均CPU和内存利用率 此bash脚本从每个数据文件中收集CPU和内存平均值,并将其显示在页面上。 与上面的脚本相比,这个bash脚本略有不同,它显示了一个位置(CPU和内存)的平均值,而不是其他数据: # vi /opt/scripts/sar-cpu-mem-avg.sh #!/bin/bash for file in `ls -tr /var/log/sa/sa* | grep -v sar` do sar -f $file | head -n 1 | awk '{print $4}' echo "-----------" sar -u -f $file | awk '/Average:/{printf("CPU Average: %.2f%\n"), 100 - $8}' sar -r -f $file | awk '/Average:/{printf("Memory Average: %.2f%\n"),(($3-$5-$6)/($2+$3)) * 100 }' printf "\n" done 运行脚本后,你将获得如下所示的输出: # sh /opt/scripts/sar-cpu-mem-avg.sh
相关主题 |