最近线上一个分区使用过快,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
原文:http://diannaowa.blog.51cto.com/3219919/1617262