为Nagios定义自定义脚本检测内存状态
1.脚本如下~[*]#!/bin/bash
[*]#=========================================
[*]#File: check_vm.sh
[*]#Description:
[*]#Author: smileliuyb
[*]#Modify: smileliuyb
[*]#Creation Date: 2013-1-14
[*]#Last Modified: 2013-1-14
[*]#=========================================
[*]
[*]#======check-arg===============
[*]if [[ $4 != "" ]];then
[*] echo $2 $4 | awk '$1 !~ /^*$/ || $2 !~ /^*$/{print "User like ./check_vm.sh -w freememory -c freememory";exit 3}'
[*] if [ $? -eq 3 ];then
[*] exit 3
[*] fi
[*] if [[ $1 == '-w' ]] && [[ $3 == '-c' ]];then
[*] warning=`echo $2 | awk '$1 ~ /$/{print $1};$1 ~ /$/{print $1*1024};$1 ~ /$/{print $1*1024*1024}'`
[*] critical=`echo $4 | awk '$1 ~ /$/{print $1};$1 ~ /$/{print $1*1024};$1 ~ /$/{print $1*1024*1024}'`
[*] elif [[ $1 == '-c' ]] && [[ $3 == '-w' ]];then
[*] warning=`echo $4 | awk '$1 ~ /$/{print $1};$1 ~ /$/{print $1*1024};$1 ~ /$/{print $1*1024*1024}'`
[*] critical=`echo $2 | awk '$1 ~ /$/{print $1};$1 ~ /$/{print $1*1024};$1 ~ /$/{print $1*1024*1024}'`
[*] else
[*] echo "User like ./check_vm.sh -w freememory -c freememory"
[*] exit 3
[*] fi
[*]else
[*] echo "User like ./check_vm.sh -w freememory -c free"
[*] exit 3
[*]fi
[*]
[*]#====see-mem and comparison with arg========
[*]freemem=`free -m | cut -d " " -f17`
[*]if [ $(( freemem*1024 )) -le $critical ];then
[*] echo "Insufficient memory,Only"$freemem"M are free!"
[*] exit 2
[*]elif [ $(( freemem*1024 )) -le $warning ];then
[*] echo "Memory Warning,Only"$freemem"M are free!"
[*] exit 1
[*]else
[*] echo "Memory OK"
[*] exit 0
[*]fi
页:
[1]