监控CPU、磁盘、内存使用情况,并报警

#!/bin/bash

#获取cpu使用率
cpuUsage=`top -n 1 | awk -F '[ %]+' 'NR==3 {print $2}'`
#获取磁盘使用率
data_name="/dev/sda1"
diskUsage=`df -h | grep $data_name | awk -F '[ %]+' '{print $5}'`
logFile=/apps/service/wy/jiankong.log
#获取内存情况
mem_total=`free -m | awk -F '[ :]+' 'NR==2{print $2}'`
mem_used=`free -m | awk -F '[ :]+' 'NR==2{print $3}'`
#统计内存使用率
mem_used_persent=`awk 'BEGIN{printf "%.0f\n",('$mem_used'/'$mem_total')*100}'`
#获取报警时间
now_time=`date '+%F %T'`
function send_mail(){
        mail -s "监控报警" 1183211046@qq.com < /apps/service/wy/jiankong.log
}
function check(){
        if [[ "$cpuUsage" > 80 ]] || [[ "$diskUsage" > 80 ]] || [[ "$mem_used_persent" > 80 ]];then
                echo "报警时间:$now_time" > $logFile
                echo -e "CPU使用率:$cpuUsage% \n磁盘使用率:$diskUsage% \n内存使用率:$mem_used_persent%" >> $logFile
                send_mail
        fi
}
function main(){
        check
}
main

 

posted @ 2017-12-04 17:15  白小白001  阅读(1713)  评论(0编辑  收藏  举报