problem with checks being rescheduled outside their timeperiod

Michael Friedrich michael.friedrich at univie.ac.at
Tue Aug 23 09:48:02 CEST 2011


Brian Murphy wrote:
> Hmmm well I have found my problem but have not got a solution.
>
> NTP is changing the time on the system, and then
>
> [1313911134.718762] [001.0] [pid=14714] compensate_for_system_time_change() start
> [1313911134.718767] [008.0] [pid=14714] Detected a backwards time change of 0d 0h 0m 1s.
> [1313911134.718833] [001.0] [pid=14714] adjust_timestamp_for_time_change()
> [1313911134.718841] [001.0] [pid=14714] adjust_timestamp_for_time_change()
>
> the adjust_timestamp_for_time_change() (in events.c) does not check the timeperiod for the check, it just applies the time change to it, therefore often moving it out of its timeperiod and causing it not to run, and to be rescheduled for the next day.
>
> [1313504998.099400] [016.0] [pid=2285] Attempting to run scheduled check of service 'DAILY JOB' on host 'host': check options=0, latency=0.099000
> [1313504998.099408] [001.0] [pid=2285] run_async_service_check()
> [1313504998.099412] [001.0] [pid=2285] check_service_check_viability()
> [1313504998.099417] [001.0] [pid=2285] check_time_against_period()
> [1313504998.099439] [016.2] [pid=2285] This is not a valid time for this service to be actively checked.
> [1313504998.099445] [001.0] [pid=2285] check_service_dependencies()
> [1313504998.099451] [016.1] [pid=2285] Unable to run scheduled service check at this time
> [1313504998.099455] [001.0] [pid=2285] get_next_valid_time()
> [1313504998.099459] [001.0] [pid=2285] check_time_against_period()
> [1313504998.099471] [001.0] [pid=2285] check_time_against_period()
> [1313504998.099484] [016.1] [pid=2285] Rescheduled next service check for Thu Aug 18 02:30:00 2011
>
> that is the next day, that 02:30:00 time is going outside the timeperiod if there is a second lost in the next 24 hours too.
>
> There seems to be something unrequired here, the checks have been scheduled for a time time x, the real time, time y, has been adjusted but we still want the check to run at time x! Or to catch up as much as required running checks scheduled in the new past!
>
> Anyway, apart from not having the Virtual time move around on me, has anyone got any suggestions to stop the time rescheduling going outside the timeperiods?

just don't use it. make a cron scheduling a downtime instead to suppress 
notifications.

the code with timeperiods is not covering 100% of the cases where it 
could be triggered and calculating a valid next check time. 
tracker.nagios.org holds an old issue on that while you can also read 
about that on the nagios-devel mailinglist archives.

> Brian


-- 
DI (FH) Michael Friedrich

Vienna University Computer Center
Universitaetsstrasse 7 A-1010 Vienna, Austria

email: 	michael.friedrich at univie.ac.at
phone: 	+43 1 4277 14359
mobile: +43 664 60277 14359
fax: 	+43 1 4277 14338
web:	http://www.univie.ac.at/zid
	http://www.aco.net

Icinga Core&  IDOUtils Developer
http://www.icinga.org


------------------------------------------------------------------------------
Get a FREE DOWNLOAD! and learn more about uberSVN rich system, 
user administration capabilities and model configuration. Take 
the hassle out of deploying and managing Subversion and the 
tools developers use with it. http://p.sf.net/sfu/wandisco-d2d-2
_______________________________________________
Nagios-users mailing list
Nagios-users at lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/nagios-users
::: Please include Nagios version, plugin version (-v) and OS when reporting any issue. 
::: Messages without supporting info will risk being sent to /dev/null





More information about the Users mailing list