最近线上一个分区使用过快,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