NAME
checkLogExist.pl - checks Log-entries at given times
SYNOPSIS
checkLogExist.pl
DESCRIPTION
checkLogExist should be called frequently in a separate job and checks if defined log entries exist in the defined log files, (hinting that the task was run/started), resp. whether the Logfile exists at all.
Configuration is done in sub-hash $config{checkLookup}
, being the same place for the errmailaddress/errmailsubject of error mails being sent in the tasks themselves:
$config{checkLookup} = {
<nameOfJobscript.pl> => {
errmailaddress => "test\@test.com",
errmailsubject => "testjob failed",
timeToCheck => "0800",
freqToCheck => "B",
logFileToCheck => "test.log",
logcheck => "started.*",
logRootPath => "optional alternate logfile path"
},
<...> => {
},
}
The key consists of the scriptname + any additional defined interactive options, which are being passed to the script in an alphabetically sorted manner. For checkLogExist.pl the key is irrelevant as all entries of $config{checkLookup}
are worked through.
- errmailaddress
-
where should the mail sent to in case of non-existence or an error.
- errmailsubject
-
subject-line for error mail, only used for error mail sending in the tasks itself.
- timeToCheck
-
all checks earlier than this are ignored
- freqToCheck
-
ignore log check except on: ML..Monthend, D..every day, B..Business days, M1..Month-beginning, W{n}..Weekday (n:1=Sunday-7=Saturday)
- logFileToCheck
-
Where (which logfile) should the job have written into ? this logfile is expected either in the logRootPath configured in site.config or in logRootPath configured for this locgceck entry (see below).
- logcheck
-
"regex keyword/expression" to compare the rows, if this is missing in the logfile after the current date/timeToCheck then an alarm is sent to the configured errmailaddress
- logRootPath
-
instead of using the logRootPath configured in site.config, a special logRootPath can be optionally configured here for each log check.
COPYRIGHT
Copyright (c) 2023 Roland Kapl
All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
The full text of the license can be found in the LICENSE file included with this module.