Pages

Wednesday, 2 October 2019

Simple "sar" script to get CPU/MEM Usage on Linux and Solaris


#!/bin/bash
function solaris()
{
        DATA_DIR=/var/adm/sa

        echo -ne "$(hostname): "
        # CPU Usage
        ls $DATA_DIR | grep sa[0-9] |  \
        while read i
        do
                sar -u -f ${DATA_DIR}/$i | tail -1 |  \
                        awk '{printf "%.2f\n", 100-$5}'
        done | \
        awk 'BEGIN {sum=0} {sum += $1} END {printf "CPU Usage - %.2f, ", sum/NR}'


        # MEM Usage
        MemSize=$(/usr/sbin/prtconf | grep Memory | awk '{print $3*1024*1024}')
        PageSize=$(/usr/bin/pagesize)
        ls $DATA_DIR | grep sa[0-9] |  \
        while read i
        do
                 sar -r -f ${DATA_DIR}/$i | tail -1 |  \
                        awk "{printf \"%.2f\\n\", \$2*100*$PageSize/$MemSize}"
        done | \
        awk 'BEGIN {sum=0} {sum += $1;} END {printf "MEM Usage - %.2f\n", 100-sum/NR}'

}
function linux()
{
        echo -ne "$(hostname): "
        DATA_DIR=/var/log/sa

        # CPU Usage
        ls $DATA_DIR | grep sa[0-9] |  \
        while read i
        do
                sar -u -f ${DATA_DIR}/$i | tail -1 |  \
                        awk '{printf "%.2f\n", 100-$8}'
        done | \
        awk 'BEGIN {sum=0} {sum += $1} END {printf "CPU Usage - %.2f, ", sum/NR}'


        # MEM Usage
        ls $DATA_DIR | grep sa[0-9] |  \
        while read i
        do
                sar -r -f ${DATA_DIR}/$i | tail -1 |  \
                        awk '{print $4}'
        done | \
        awk 'BEGIN {sum=0} {sum += $1} END {printf "MEM Usage - %.2f\n", sum/NR}'

}

No comments:

Post a Comment