nagios-plugins/check_nagios/check_nagios_configuration

40 lines
735 B
Bash
Executable File

#!/bin/sh
PERFDATA=""
MESSAGE="Nagios configuration is valid"
EXIT_CODE=3
TMPFILE=`mktemp`
trap "rm -f $TMPFILE" EXIT
nagios -v /etc/nagios/nagios.cfg > $TMPFILE
RESULT=$?
# grep -E '^\s+Checked'
warnings=`grep -c -E "^Warning:" "$TMPFILE"`
errors=`grep -c -E "^Error:" "$TMPFILE"`
PERFDATA="warnings=$warnings errors=$errors"
# If there are any warnings
if [ $warnings -gt 0 ]; then
MESSAGE="nagios.cfg has $warnings warnings"
EXIT_CODE=1
fi
# If nagios -v fails. Config is invalid
if [ $RESULT -gt 0 ]; then
MESSAGE="Could not validate Nagios configuration."
EXIT_CODE=2
fi
if [ $EXIT_CODE -eq "3" ]; then
EXIT_CODE=0
fi
echo "$MESSAGE | $PERFDATA"
grep -E "^Error|^Warning" "$TMPFILE"
rm -f $TMPFILE
exit $EXIT_CODE