Skip to content
This repository has been archived by the owner on Jan 15, 2019. It is now read-only.

[dev.icinga.com #2787] service checks trigger passive host checks actively rescheduled on not-up on demand checks #1021

Closed
icinga-migration opened this issue Jul 5, 2012 · 4 comments

Comments

@icinga-migration
Copy link

This issue has been migrated from Redmine: https://dev.icinga.com/issues/2787

Created by mfriedrich on 2012-07-05 17:52:39 +00:00

Assignee: (none)
Status: Rejected (closed on 2014-07-19 12:05:47 +00:00)
Target Version: (none)
Last Update: 2014-07-19 12:05:47 +00:00 (in Redmine)

Icinga Version: 1.7.1
OS Version: Debian

actually, when a service receives a passive check result, it will check if the host is UP and trigger some on demand checks if this is not the case. actually, this happens to be a problem when the host itsself is passive as well.

the current code does some checks on aggressive checking, first checking or even use a cached result. but if none matches, it simply reschedules an active host check, even for a passive host.

if (temp_host->current_state != HOST_UP) {
log_debug_info(DEBUGL_CHECKS, 1, "Host is NOT UP, so we'll check it to see if it recovered...\n");
if (use_aggressive_host_checking == TRUE) ...
else if (first_host_check_initiated == TRUE) ...
else {
if ((state_change == FALSE || state_changes_use_cached_state == TRUE) && temp_host->has_been_checked == TRUE && ((current_time - temp_host->last_check) <= cached_host_check_horizon)) {
/* else launch an async (parallel) check of the host */
else
run_async_host_check_3x(temp_host, CHECK_OPTION_NONE, 0.0, FALSE, FALSE, NULL, NULL);

this will lead into the check command being called, which normally only happens when the freshness threshold is triggered.

the overall behaviour is described in this thread http://www.monitoring-portal.org/wbb/index.php?page=Thread&threadID=26223

especially that output

[1340873446.470941] [016.1] [pid=1976] Handling check result for service 'checkdisk_c' on host 'pxx.division.company.com'...
[1340873446.470944] [001.0] [pid=1976] handle_async_service_check_result()
[1340873446.470947] [016.0] [pid=1976] ** Handling check result for service 'checkdisk_c' on host 'pxx.division.company.com'...
[1340873446.470949] [016.1] [pid=1976] HOST: pxx.division.company.com, SERVICE: checkdisk_c, CHECK TYPE: Passive, OPTIONS: 0, SCHEDULED: No, RESCHEDULE: No, EXITED OK: Yes, RETURN CODE: 0, OUTPUT: OK: c:\: 34.9G|'c:\ %'=32%;20;10 'c:\'=34.87GB;10.2;5.1;0;50.98
[1340873446.471046] [064.1] [pid=1976] Making callbacks (type 9)...
[1340873446.471057] [016.1] [pid=1976] Service is OK.
[1340873446.471060] [016.1] [pid=1976] Host is NOT UP, so we'll check it to see if it recovered...
[1340873446.471063] [001.0] [pid=1976] run_async_host_check_3x()
[1340873446.471065] [016.0] [pid=1976] ** Running async check of host 'pxx.division.company.com'...

a possible patch will be to detect if the host is passive itsself and skip the on demand host check, only logging some debug output.

Attachments

@icinga-migration
Copy link
Author

Updated by mfriedrich on 2012-07-05 17:52:51 +00:00

  • File added do-not-reschedule-on-demand-passive-host-checks-on-not-up.patch.txt

@icinga-migration
Copy link
Author

Updated by mfriedrich on 2012-08-01 02:32:35 +00:00

  • Status changed from Assigned to Feedback

@icinga-migration
Copy link
Author

Updated by mfriedrich on 2012-08-25 13:37:09 +00:00

  • Target Version deleted 1.8
  • Icinga Version set to 1
  • OS Version set to Debian

not clear on that one, more feedback required.

@icinga-migration
Copy link
Author

Updated by mfriedrich on 2014-07-19 12:05:47 +00:00

  • Status changed from Feedback to Rejected
  • Assigned to deleted mfriedrich

2 years, no feedback, gone.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

1 participant