admin:monitoring:check_mem
no way to compare when less than two revisions
Différences
Ci-dessous, les différences entre deux révisions de la page.
— | admin:monitoring:check_mem [2020/08/21 12:45] (Version actuelle) – créée fpoulain | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | Le monitoring de la mémoire est fait maison via un code shell ancestral transmit de geek en geek dont l' | ||
+ | <code bash / | ||
+ | #!/bin/bash | ||
+ | |||
+ | #nagios exit code | ||
+ | STATE_OK=0 | ||
+ | STATE_WARNING=1 | ||
+ | STATE_CRITICAL=2 | ||
+ | STATE_UNKNOWN=3 | ||
+ | |||
+ | help () { | ||
+ | local command=`basename $0` | ||
+ | echo "NAME | ||
+ | ${command} -- check memory status | ||
+ | SYNOPSIS | ||
+ | ${command} [OPTION] | ||
+ | DESCRIPTION | ||
+ | -w warning=< | ||
+ | -c critical=< | ||
+ | USAGE: | ||
+ | $0 -w 50% -c 60%" 1>&2 | ||
+ | exit ${STATE_WARNING} | ||
+ | } | ||
+ | |||
+ | check_num () { | ||
+ | local num_str=" | ||
+ | echo ${num_str}|grep -E ' | ||
+ | if [ " | ||
+ | echo " | ||
+ | exit ${STATE_WARNING} | ||
+ | else | ||
+ | local num_int=`echo ${num_str}*1|bc` | ||
+ | if [ ${num_int} -lt 0 ];then | ||
+ | echo " | ||
+ | exit ${STATE_WARNING} | ||
+ | fi | ||
+ | fi | ||
+ | } | ||
+ | |||
+ | #input | ||
+ | while getopts w:c: opt | ||
+ | do | ||
+ | case " | ||
+ | w) | ||
+ | warning=$OPTARG | ||
+ | warning_num=`echo " | ||
+ | check_num " | ||
+ | ;; | ||
+ | c) | ||
+ | critical=$OPTARG | ||
+ | critical_num=`echo " | ||
+ | check_num " | ||
+ | ;; | ||
+ | *) help;; | ||
+ | esac | ||
+ | done | ||
+ | shift $[ $OPTIND - 1 ] | ||
+ | |||
+ | [ $# -gt 0 -o -z " | ||
+ | |||
+ | if [ -n " | ||
+ | if [ ${warning_num} -ge ${critical_num} ];then | ||
+ | echo "-w ${warning} must lower than -c ${critical}!" | ||
+ | exit ${STATE_UNKNOWN} | ||
+ | fi | ||
+ | fi | ||
+ | |||
+ | datas=`awk -F': | ||
+ | |||
+ | var=`echo " | ||
+ | eval " | ||
+ | |||
+ | MemUsed=`echo ${MemTotal}-${MemFree}-${Cached}-${Buffers}|bc` | ||
+ | MemUsage=`echo " | ||
+ | MemUsage_num=`echo ${MemUsage}/ | ||
+ | #echo ${MemUsage_num} | ||
+ | MemTotal_MB=`echo ${MemTotal}/ | ||
+ | MemUsed_MB=`echo ${MemUsed}/ | ||
+ | MemFree_MB=`echo ${MemFree}/ | ||
+ | Cached_MB=`echo ${Cached}/ | ||
+ | Buffers_MB=`echo ${Buffers}/ | ||
+ | |||
+ | message () { | ||
+ | local stat=" | ||
+ | echo " | ||
+ | } | ||
+ | |||
+ | [ ${MemUsage_num} -lt ${warning_num} ] && message " | ||
+ | [ ${MemUsage_num} -ge ${critical_num} ] && message " | ||
+ | [ ${MemUsage_num} -ge ${warning_num} ] && message " | ||
+ | </ | ||
+ | |||
+ | L' | ||
+ | <code C> | ||
+ | object CheckCommand " | ||
+ | command = [ PluginDir + "/ | ||
+ | arguments = { | ||
+ | " | ||
+ | value = " | ||
+ | required = true | ||
+ | } | ||
+ | " | ||
+ | value = " | ||
+ | required = false | ||
+ | } | ||
+ | } | ||
+ | vars.memory_critical = 95 | ||
+ | vars.memory_warning = 80 | ||
+ | } | ||
+ | |||
+ | apply Service "Check memory" | ||
+ | import " | ||
+ | |||
+ | check_command = " | ||
+ | command_endpoint = host.vars.client_endpoint | ||
+ | |||
+ | assign where host.address && !host.vars.external | ||
+ | } | ||
+ | </ |
admin/monitoring/check_mem.txt · Dernière modification : 2020/08/21 12:45 de fpoulain