Emit unknown if unable to open the logfile and detect location

Issue #1
This commit is contained in:
Tomas Edwardsson 2013-05-22 21:23:50 +00:00
parent e35455fdc8
commit 3828a94a3e
1 changed files with 23 additions and 1 deletions

View File

@ -3,7 +3,29 @@ TMP=`mktemp`
LAST_HOUR=`date "+%b %e %H:" -d "1 hour ago"`
CURRENT_HOUR=`date "+%b %e %H:"`
tail -n 2000 /var/log/messages | \
exit_unknown() {
msg="$1"
echo "${msg}"
exit 3
}
find_nagios_log() {
# Try to locate the nagios log, fallback to messages log
for log in /var/log/nagios/nagios.log /var/log/nagios3/nagios.log /var/log/messages
do
if [ -e "${log}" ]; then
echo ${log}
return 0
fi
done
return 3
}
LOG=$(find_nagios_log) || exit_unknown "Unable to locate logfile for parsing"
tail -n 1 ${LOG} &> ${TMP} || exit_unknown "Unable to parse logfile: $(cat ${TMP})"
tail -n 2000 ${LOG} | \
grep -E "$CURRENT_HOUR|$LAST_HOUR" | \
grep "Passive check result was received" | \
grep -i "could not be found" | \