首先一点 我们安装的nagios是没有自带内存监控插件 需要自己定义脚本来写
内存的监控脚本如下:
在此目录下写/usr/local/nagios/libexec
chechk_mem.sh
-
#script to check real memory usage
-
# ------------------------------------------
-
# ######## Script Modifications ##########
-
# ------------------------------------------
-
# zhangzhengxing
-
# --- ---- ----
-
#
-
#!/bin/bash
-
USAGE="`basename $0` [-w|--warning] [-c|--critical]"
-
THRESHOLD_USAGE="WARNING threshold must be greater than CRITICAL: `basename $0` $*"
-
calc=/tmp/memcalc
-
percent_free=/tmp/mempercent
-
critical=""
-
warning=""
-
STATE_OK=0
-
STATE_WARNING=1
-
STATE_CRITICAL=2
-
STATE_UNKNOWN=3
-
# print usage
-
if [[ $# -lt 4 ]]
-
then
-
echo ""
-
echo "Wrong Syntax: `basename $0` $*"
-
echo ""
-
echo "Usage: $USAGE"
-
echo ""
-
exit 0
-
fi
-
# read input
-
while [[ $# -gt 0 ]]
-
do
-
case "$1" in
-
-w|--warning)
-
shift
-
warning=$1
-
;;
-
-c|--critical)
-
shift
-
critical=$1
-
;;
-
esac
-
shift
-
done
-
-
# verify input
-
if [[ $warning -eq $critical || $warning -lt $critical ]]
-
then
-
echo ""
-
echo "$THRESHOLD_USAGE"
-
echo ""
-
echo "Usage: $USAGE"
-
echo ""
-
exit 0
-
fi
-
# Total memory available
-
total=`free -m | head -2 |tail -1 |gawk '{print $2}'`
-
# Total memory used
-
used=`free -m | head -2 |tail -1 |gawk '{print $3}'`
-
# Calc total minus used
-
free=`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 accuracy
-
echo "k" >> $calc # commit
-
echo "100" >> $calc # multiply
-
echo "$free" >> $calc # division integer
-
echo "$total" >> $calc # division integer
-
echo "/" >> $calc # division sign
-
echo "*" >> $calc # multiplication sign
-
echo "p" >> $calc # print
-
percent=`/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 2
-
fi
-
if [[ "$percent" -le $warning ]]
-
then
-
echo "WARNING - $free MB ($percent%) Free Memory"
-
exit 1
-
fi
-
if [[ "$percent" -gt $warning ]]
-
then
-
echo "OK - $free MB ($percent%) Free Memory"
-
exit 0
-
fi
vim /usr/local/nagios/etc/objects/commands.cfg
#增加以下内容
define command{
command_name check_mem
command_line $USER1$/check_mem.sh -w $ARG1$ -c $ARG2$
}
#修改客户端配置文件
vim /usr/local/nagios/etc/nrpe.cfg
#找到相同的地方增加以下内容
command[check_mem]=/usr/local/nagios/libexec/check_mem.sh -w 10 -c 5
/usr/local/nagios/etc/servers/xxxx.cfg添加
define service{
use generic-service ; Name of service template to use
host_name 192.168.1.x
service_description memory
check_command check_nrpe!check_mem!110,80!150,100
}
阅读(2081) | 评论(0) | 转发(0) |