we're migrating our old Nagios Version 3.0.3 to Nagios Core Version 4.4.3.
While our parallel run, in order to check it, I see a strange behavior for some alarms scheduled for running in a limited time period.
Example:
timeperiod: 04:00-04:05 (from sunday to saturday)
max_check_attempts 5
check_interval 20
retry_interval 3
notification_interval 30
Please correct me if i'm wrong. While scheduling the "Next scheduled check" data, Nagios consider if the date to be set is included in a valid timeperiod:
if YES -> set the "Next scheduled check" within this interval
if NO -> set the "Next scheduled check" as the first valid date during the next timeperiod (in this example will be next 04:00)
Our "old Nagios" is working in this way so, no problem.
With the new Nagios Core 4.4.3 version seems not working properly so I can see a scenario like this:
Next Scheduled Check: the day after at 04:13
Last Check Time: the last time the check was perfomed during the valid timeperiod (days before)
So it seems that Nagios try to perform the "Next check" as scheduled but, checking the timeperiod, doesn't run the check because that scheduled date is not included in the timeperiod.
How can i check? How can I "force" it?
To complete my scenario, I've migrated all the alarms configurations from the old to the new host so infos like time periods, intervals, check to run are totally the same.
Here a real example:
Current Status: OK (for 0d 1h 13m 3s+)
Status Information: OK, it works
Performance Data:
Current Attempt: 1/3 (HARD state)
Last Check Time: 04-30-2019 14:15:55
Check Type: ACTIVE
Check Latency / Duration: 0.000 / 14.129 seconds
Next Scheduled Check: 05-29-2019 11:08:45
Service configuration:
check_interval 20
notification_interval 30
retry_interval 3
max_check_attempts 3
Timeperiod
monday 11:00-11:01
tuesday 11:00-11:01
wednesday 11:00-11:01
thursday 11:00-11:01
friday 11:00-11:01
saturday 11:00-11:01
sunday 11:00-11:01
EDIT: I've found this in the official documentation, but It's not what i'm facing
https://assets.nagios.com/downloads/nag ... riods.htmlSpecifying a timeperiod in the check_period directive allows you to restrict the time that Nagios Core perform regularly scheduled, active checks of the host or service. When Nagios Core attempts to reschedule a host or service check, it will make sure that the next check falls within a valid time range within the defined timeperiod. If it doesn't, Nagios Core will adjust the next check time to coincide with the next "valid" time in the specified timeperiod. This means that the host or service may not get checked again for another hour, day, or week, etc.
Thanks!