[monitoring-plugins] Missing oldlog now aborts check_log

RincewindsHat git at monitoring-plugins.org
Mon Dec 20 16:00:13 CET 2021


 Module: monitoring-plugins
 Branch: master
 Commit: 5a81bd813ecae7c6492e4eac001331973d9594b3
 Author: RincewindsHat <12514511+RincewindsHat at users.noreply.github.com>
   Date: Thu Dec  2 17:10:57 2021 +0100
    URL: https://www.monitoring-plugins.org/repositories/monitoring-plugins/commit/?id=5a81bd8

Missing oldlog now aborts check_log

---

 plugins-scripts/check_log.sh | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/plugins-scripts/check_log.sh b/plugins-scripts/check_log.sh
index 6113123..d71f420 100755
--- a/plugins-scripts/check_log.sh
+++ b/plugins-scripts/check_log.sh
@@ -43,6 +43,10 @@
 #        check the same <log_file> for pattern matches.  This is necessary
 #        because of the way the script operates.
 #
+#    4.  This plugin does NOT have an understanding of logrotation or similar
+#        mechanisms. Therefore bad timing could lead to missing events
+#
+#
 # Examples:
 #
 # Check for login failures in the syslog...
@@ -207,6 +211,11 @@ elif [ ! -r "$logfile" ] ; then
     echo "Log check error: Log file $logfile is not readable!"
     exit "$STATE_UNKNOWN"
 fi
+# If no oldlog was given this can not work properly, abort then
+if [ ! -v oldlog ]; then
+       echo "Oldlog parameter is needed"
+       exit $STATE_UNKNOWN
+fi
 
 # If the old log file doesn't exist, this must be the first time
 # we're running this test, so copy the original log file over to
@@ -256,7 +265,7 @@ cat "$logfile" > "$oldlog"
 if [ "$count" = "0" ]; then # no matches, exit with no error
     echo "Log check ok - 0 pattern matches found"
     exitstatus=$STATE_OK
-else # Print total matche count and the last entry we found
+else # Print total match count and the last entry we found
     echo "($count) $entry"
     exitstatus=$STATE_CRITICAL
 fi



More information about the Commits mailing list