shell脚本监控分区使用率,并发邮件报警

最近线上一个分区使用过快,nagios并没有开启对分区使用率的监控,抽了几分钟临时写了个脚本先用着。用法比较简单,直接上代码:

注:代码中用到的sendEmail脚本是perl开发的一个发邮件程序,可以网上找到该脚本或者使用其他发邮件脚本

#!/bin/bash
#--dir:Monitoring of the mount point
#--critical:critical value
#--warning:warning value 
#--ip
[ $# -eq 0 ] && {
        echo "$0 [--dir PATH --critical NUM --warning NUM -h|--help]"
        exit 99
}
while [ $# -ne 0 ];do
case $1 in
        -h|--help)
                echo "$0 [--dir PATH --critical NUM --warning NUM -h|--help]"
        --dir)
                DIR=$2
        --critical)
                CRITICAL=$2
                shift 2
                ;;
        --warning)
                WARNING=$2
                shift 2
                ;;
        --ip)
                IP=$2
                shift 2
                ;;
        *)
                echo "$0 [--dir PATH --critical NUM --warning NUM -h|--help]"
                exit 99
                ;;
esac
done

USEAGE=`df -h|awk -v mount=$DIR ‘$NF==mount{print $(NF-1)}‘|cut -d% -f1`

if [ $USEAGE -ge $CRITICAL ];then
        MSG="PROBLEM Service Alert:$IP:$DIR is CRITICAL,Used $USEAGE%"
        /usr/local/bin/sendEmail -f FROMEMAIL -t TOEMAIL -s SMTPSERVER -u "SUBJECT" -xu YOURUSERNAME -xp YOUPASS -m  "$MSG"
elif [ $USEAGE -ge $WARNING ];then
        MSG="PROBLEM Service Alert:$IP:$DIR is WARNING,Used $USEAGE%"
        /usr/local/bin/sendEmail -f FROMEMAIL -t TOEMAIL -s SMTPSERVER -u "SUBJECT" -xu YOURUSERNAME -xp YOUPASS -m  "$MSG"
fi


用法:./monitorBack.sh --dir /back --ip 192.168.1.100 --critical 90 --warning 70

本文出自 “diannaowa” 博客,请务必保留此出处http://diannaowa.blog.51cto.com/3219919/1617262

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。