sdxh0506 发表于 2019-1-15 08:30:46

为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]
查看完整版本: 为Nagios定义自定义脚本检测内存状态