提取sar的性能输出

  1. 安装
    需要EPEL源
yum install -y sysstat
  1. 配置日志留存时间
    修改配置文件/etc/sysconfig/sysstat。
# sysstat-10.1.5 configuration file.

# How long 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 and sar files older than (in days):
COMPRESSAFTER=31

# Parameters for 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"
  1. 性能采集脚本
  • 从 SAR 报告中获取平均 CPU 利用率
    该 bash 脚本从每个数据文件中收集 CPU 平均值并将其显示在一个页面上。
# vim /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 "+----------------------------------------------------------------------------------+"
  • 从 SAR 报告中获取平均内存利用率
    该 bash 脚本从每个数据文件中收集内存平均值并将其显示在一个页面上。
# 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 "+-------------------------------------------------------------------------------------------------------------------+"
  • 从 SAR 报告中获取 CPU 和内存平均利用率
    该 bash 脚本从每个数据文件中收集 CPU 和内存平均值并将其显示在一个页面上。该脚本与上面相比稍微不同。它在同一位置同时显示两者(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

参考文献
https://www.2daygeek.com/linux-get-average-cpu-memory-utilization-from-sar-data-report/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值