From 9608c4aa49aa0df9a2c47e8a602023e02a3c63ac Mon Sep 17 00:00:00 2001 From: Daniel Friesel Date: Thu, 22 Jul 2010 21:10:20 +0200 Subject: Add icinga-status function --- etc/functions/icinga-status | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 etc/functions/icinga-status (limited to 'etc/functions/icinga-status') diff --git a/etc/functions/icinga-status b/etc/functions/icinga-status new file mode 100644 index 0000000..dcb6c7f --- /dev/null +++ b/etc/functions/icinga-status @@ -0,0 +1,33 @@ +typeset output +typeset sv_ok sv_warn sv_crit sv_unknown +typeset host_up host_down host_unreachable + +output=($(ssh aneurysm \ +'/usr/sbin/icingastats -md NUMSVCOK,NUMSVCWARN,NUMSVCUNKN,NUMSVCCRIT,'\ +'NUMHSTUP,NUMHSTDOWN,NUMHSTUNR')) + +function _icinga_format { + typeset format + + case ${1} in + yellow) format='%F{black}%K{yellow}' ;; + red) format='%K{red}' ;; + blue) format='%K{blue}' ;; + esac + + (( ${3} == 0 )) && format= + + print -Pn ${format} + + printf "%-16s %s%s" ${2} $(print -P '%F{default}%K{default}') ${3} + echo +} + +_icinga_format green 'Service OK' ${output[1]} +_icinga_format yellow 'Sercice WARN' ${output[2]} +_icinga_format blue 'Service UNKNOWN' ${output[3]} +_icinga_format red 'Service CRIT' ${output[4]} +echo +_icinga_format green 'Host UP' ${output[5]} +_icinga_format red 'Host DOWN' ${output[6]} +_icinga_format blue 'Host UNREACHABLE' ${output[7]} -- cgit v1.2.3