Linux之監控服務器內存、CPU、磁盤使用率shell腳本


監控服務器內存、CPU、磁盤使用率腳本內容(包含郵件告警):

#Memory
totalMemory=$(free -m | awk -F '[ :]+' 'NR==2{print $2}')
usedMemory=$(free -m | awk -F '[ :]+' 'NR==2{print $3}')
freeMemory=$(free -m|awk  '{print $4}'|sed -n '3p')
usedPerMemory=$(awk 'BEGIN{printf "%.0f",('$usedMemory'/'$totalMemory')*100}')
freePerMemory=$(awk 'BEGIN{printf "%.0f",('$freeMemory'/'$totalMemory')*100}')
logFile=/tmp/monitor.log
#alerm date
now_time=`date '+%Y-%m%d %H:%M:%S'`
#Disk
diskusAge=$(df -h | grep /dev/mapper/centos-root | awk -F '[ %]+' '{print $5}')

#CPU
cpuusAge=$(top -b -n 1 |grep Cpu|awk '{print $8}'|cut -f 1 -d'.')

echo $cpuusAge


# send mail
function send_mail(){
        mail -s "test alerm" test@163.com < /tmp/monitor.log
}


if [[ "$usedPerMemory" > 90 ]] || [[ "$diskusAge" > 90 ]] || [[ "$cpuusAge" > 95 ]];then

                echo "報警時間:${now_time}" > $logFile
                echo "CPU usage:${cpuusAge}%" >> $logFile
                echo "Memory usage:${usedPerMemory}%" >> $logFile
                echo "Disk usage:${diskusAge}%" >> $logFile
                send_mail
fi

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM