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 be sent to in case of non-existence of logfile/logline or an error in the script.
- errmailsubject
-
subject-line for error mail, only used for error mail sending in the task scripts themselves.
- timeToCheck
-
all checks earlier than this are ignored, given in format HHMM.
- 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 locgcheck 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.
- checkLogExistDelay
-
hash of environment => delay entries, delay (in minutes) will be added to timeToCheck when checkLogExist is executed in this environment to cater for later executions in this environment
- prodEnvironmentInSeparatePath
-
set to 1 if the production and other environments logs for this scriptname are in separate Paths defined by folderEnvironmentMapping (prod=root/Prod, test=root/Test, etc.), set to 0 if the production log is in the root folder and all other environments are below that folder (prod=root, test=root/Test, etc.)
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.