千家信息网

nagios中check_memory插件怎么用

发表于:2025-01-18 作者:千家信息网编辑
千家信息网最后更新 2025年01月18日,这篇文章将为大家详细讲解有关nagios中check_memory插件怎么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。#!/bin/bash#describe:
千家信息网最后更新 2025年01月18日nagios中check_memory插件怎么用

这篇文章将为大家详细讲解有关nagios中check_memory插件怎么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

#!/bin/bash#describe:nagios  check_memory#return:0:OK|1:waring|2:critical|3:unknown#Usage:-w(waring) -c(cirtical) -u(KB|MB|GB|TB) -h(--help) -v(--version)WARING=CIRTICAL=UNIT=VERSION='1.0.1'declare -A UNIT_MAPUNIT_MAP=([KB]=0 [MB]=1 [GB]=2 [TB]=3)UNIT_MIX=1024help=noversion=nofor optiondo  case "$option" in     -*=*) value=`echo $option|sed 's/[-a-zA-Z0-9]*=//'` ;;     *) value="" ;;  esac  case "$option" in    -h) help=yes ;;    --help) help=yes ;;    -v) version=yes ;;    -w=*) WARING="$value" ;;    -c=*) CIRTICAL="$value" ;;    -u=*) UNIT="$value" ;;    *)    echo "$0: error: invalid option \"$option\""    exit 3    ;;  esacdoneif [ $help = yes ];then   cat << END       check_memory [option] [value]            nagios check memory            Support the percentage comparison, does not support equivalence comparison       --help              print this message       -h                  print this message       -v                  print this version       -w                  set waring value       -c                  set cirtical value       -u                  set the display unitEND   exit 0fiif [ $version = yes ];then   echo "Copyright: check_memory/$VERSION"   exit 0fiWARING=${WARING:-'20'}CIRTICAL=${CIRTICAL:-'10'}UNIT=${UNIT:-'MB'}if [ -z ${UNIT_MAP[$UNIT]} ];then   UNIT='MB'fiUNIT_DIV=$(($UNIT_MIX**${UNIT_MAP[$UNIT]}))total=$(free |awk '/Mem/{print $2}')free_avg=$(free -s1 -c5|grep "+"|awk 'BEGIN{free=0}{free+=$4}END{printf("%.0f",free/5)}')precent=`echo "scale=0;"$free_avg \* 100 / $total |bc`free_avg=`echo "scale=2;"$free_avg / $UNIT_DIV |bc`total=`echo "scale=2;"$total / $UNIT_DIV |bc`if test $precent -le $CIRTICAL;then   echo "cirtical,total:$total$UNIT,free space:$free_avg$UNIT,precent:$precent%"   exit 2fiif test $precent -le $WARING;then   echo "waring,total:$total$UNIT,free space:$free_avg$UNIT,precent:$precent%"   exit 1fiecho "free ok,total:$total$UNIT,free space:$free_avg$UNIT,precent:$precent%"exit 0

关于"nagios中check_memory插件怎么用"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

0