利用shell監(jiān)控cpu、磁盤、內(nèi)存使用率,達(dá)到警報閾值發(fā)郵件進(jìn)行通知
成都地區(qū)優(yōu)秀IDC服務(wù)器托管提供商(創(chuàng)新互聯(lián)).為客戶提供專業(yè)的資陽移動機(jī)房,四川各地服務(wù)器托管,資陽移動機(jī)房、多線服務(wù)器托管.托管咨詢專線:18982081108
并配合任務(wù)計劃,即可及時獲取報警信息
#!/bin/bash ############################################## #Author: Liuzhengwei - 1135960569@qq.com #QQ:1135960569 #Last modified: 2017-04-19 21:50 #Filename: jiankong.sh #Description: ############################################## #獲取cpu使用率 cpuUsage=`top -n 1 | awk -F '[ %]+' 'NR==3 {print $2}'` #獲取磁盤使用率 data_name="/dev/vda1" diskUsage=`df -h | grep $data_name | awk -F '[ %]+' '{print $5}'` logFile=/tmp/jiankong.log #獲取內(nèi)存情況 mem_total=`free -m | awk -F '[ :]+' 'NR==2{print $2}'` mem_used=`free -m | awk -F '[ :]+' 'NR==3{print $3}'` #統(tǒng)計內(nèi)存使用率 mem_used_persent=`awk 'BEGIN{printf "%.0f\n",('$mem_used'/'$mem_total')*100}'` #獲取報警時間 now_time=`date '+%F %T'` function send_mail(){ mail -s "監(jiān)控報警" 1135960569@qq.com < /tmp/jiankong.log } function check(){ if [[ "$cpuUsage" > 80 ]] || [[ "$diskUsage" > 80 ]] || [[ "$mem_used_persent" > 80 ]];then echo "報警時間:${now_time}" > $logFile echo "CPU使用率:${cpuUsage}% --> 磁盤使用率:${diskUsage}% --> 內(nèi)存使用率:${mem_used_persent}%" >> $logFile send_mail fi } function main(){ check } main