#!/bin/bash ID='SERVER1' CPU_COUNT=`cat /proc/cpuinfo | grep processor | wc -l` MAX_CPU=$(($CPU_COUNT * 100)) printf -v date '%(%Y-%m-%d %H:%M:%S)T' -1 CPU_USAGE=`ps -ax -h -o pcpu | paste "-sd+" | bc` MEM_USAGE=`free -m | grep 'Mem:' | awk -v OFS="," '{print ($2,$3,$4,$5,$6,$7)}'` LOAD_AVG=`awk -v OFS="," '{split($4,arr,"/")} {print $1,$2,$3,arr[2]}' /proc/loadavg` NET_USAGE=`awk -v ORS="," 'NR>2{print $1,$2,$9}' /proc/net/dev` OUTPUT=$ID','$date','$CPU_USAGE','$MAX_CPU','$MEM_USAGE','$LOAD_AVG','$NET_USAGE # to trim that last awkward comma echo $OUTPUT | awk '{gsub(/,$/,""); print $0}'