nagios 监控内存-增加新插件方法

来源:互联网 发布:js获取display属性值 编辑:程序博客网 时间:2024/06/06 09:29

被监控端

1 在nagios-plugins-nrpe安装目录(如/usr/lib64/nagios/plugins/)添加插件check_mem.sh


#!/bin/bashUSAGE="`basename $0` [-w|--warning]<percent free> [-c|--critical]<percent free>"THRESHOLD_USAGE="WARNING threshold must be greater than CRITICAL: `basename $0` $*"calc=/tmp/memcalcpercent_free=/tmp/mempercentcritical=""warning=""STATE_OK=0STATE_WARNING=1STATE_CRITICAL=2STATE_UNKNOWN=3# print usageif [[ $# -lt 4 ]]then        echo ""        echo "Wrong Syntax: `basename $0` $*"        echo ""        echo "Usage: $USAGE"        echo ""        exit 0fi# read inputwhile [[ $# -gt 0 ]]  do        case "$1" in               -w|--warning)               shift               warning=$1        ;;               -c|--critical)               shift               critical=$1        ;;        esac        shift  done# verify inputif [[ $warning -eq $critical || $warning -lt $critical ]]then        echo ""        echo "$THRESHOLD_USAGE"        echo ""        echo "Usage: $USAGE"        echo ""        exit 0fi# Total memory availabletotal=`free -m | head -2 |tail -1 |gawk '{print $2}'`# Total memory usedused=`free -m | head -2 |tail -1 |gawk '{print $3}'`# Calc total minus usedfree=`free -m | head -2 |tail -1 |gawk '{print $2-$3}'`# normal values#echo "$total"MB total#echo "$used"MB used#echo "$free"MB free# make it into % percent free = ((free mem / total mem) * 100)echo "5" > $calc # decimal accuracyecho "k" >> $calc # commitecho "100" >> $calc # multiplyecho "$free" >> $calc # division integerecho "$total" >> $calc # division integerecho "/" >> $calc # division signecho "*" >> $calc # multiplication signecho "p" >> $calc # printpercent=`/usr/bin/dc $calc|/bin/sed 's/^\./0./'|/usr/bin/tr "." " "|/usr/bin/gawk {'print $1'}`#percent1=`/usr/bin/dc $calc`#echo "$percent1"if [[ "$percent" -le  $critical ]]        then                echo "CRITICAL - $free MB ($percent%) Free Memory"                exit 2fiif [[ "$percent" -le  $warning ]]        then                echo "WARNING - $free MB ($percent%) Free Memory"                exit 1fiif [[ "$percent" -gt  $warning ]]        then                echo "OK - $free MB ($percent%) Free Memory"                exit 0fi

2.  chmod a+x  check_mem.sh


3. vi /etc/nagios/nrpe.cfg  增加command

command[check_mem]=/usr/lib64/nagios/plugins/check_mem.sh -w 10 -c 5


4. 在nagios服务器端/etc/nagios/objects/XXX.cfg添加服务

define service{use generic-servicehost_name 8.25.218.26service_description check_memmax_check_attempts 4normal_check_interval 3retry_check_interval 2check_command check_nrpe!check_mem}

5. 验证配置: nagios  -v /etc/nagios/nagios.cfg


6. 重启nagios:   /etc/rc.d/init.d/nagios restart