diff --git a/Makefile b/Makefile index 5475d934e0ec6c8469a5fe2ba1dc8f9c8066ff86..1f81cb05fc255bb4232c595f25c31eb474f08a3f 100644 --- a/Makefile +++ b/Makefile @@ -1,7 +1,7 @@ DESTDIR = /usr/local/nagios/libexec/ SCRIPTS = check_cups check_glsa check_saned check_lpd check_hddtemp \ check_link_status check_true check_lysrdiff check_syslog \ - check_ping check_enodia_monitored + check_ping check_enodia_monitored check_hostextinfo all:; diff --git a/check_hostextinfo b/check_hostextinfo new file mode 100755 index 0000000000000000000000000000000000000000..08e9426031406e1753271357afbce4766a36f256 --- /dev/null +++ b/check_hostextinfo @@ -0,0 +1,36 @@ +#!/bin/sh +HOSTEXT=`tempfile` +HOSTS=`tempfile` +DIFF=`tempfile` +MISSING=`tempfile` +EXTRA=`tempfile` + +awk '$1 != "#" { print $1 }' /etc/nagios/hostextinfo.txt \ +| sort > $HOSTEXT + +sed -n 's/^[ ]*host_name[ ][ ]*\(.*\)$/\1/p' /etc/nagios/hosts.cfg \ +| sort > $HOSTS + +diff -U0 $HOSTS $HOSTEXT > $DIFF +diffrv=$? +sed -n -e 1,2d -e 's/^-//p' $DIFF > $MISSING +sed -n -e 1,2d -e 's/^+//p' $DIFF > $EXTRA +case $diffrv in + 0) echo OK + rv=0;; + 1) echo -n CRITICAL - /etc/nagios/hostextinfo.txt: + if [ `wc -l < $MISSING` -gt 0 ] + then + echo -n ' 'Add `cat $MISSING`. + fi + if [ `wc -l < $EXTRA` -gt 0 ] + then + echo -n ' 'Remove `cat $EXTRA`. + fi + echo + rv=2;; + *) echo CRITICAL - diff failed + rv=2;; +esac +rm $HOSTEXT $HOSTS $DIFF +exit $rv