mirror of https://github.com/Icinga/icinga2.git
Properly set the next check time for active and passive checks
fixes #7287 refs #11019
This commit is contained in:
parent
730db0cba1
commit
2a11b27972
|
@ -156,9 +156,4 @@ void CheckResultReader::ProcessCheckResultFile(const String& path) const
|
||||||
|
|
||||||
Log(LogDebug, "CheckResultReader")
|
Log(LogDebug, "CheckResultReader")
|
||||||
<< "Processed checkresult file for object '" << checkable->GetName() << "'";
|
<< "Processed checkresult file for object '" << checkable->GetName() << "'";
|
||||||
|
|
||||||
/* Reschedule the next check. The side effect of this is that for as long
|
|
||||||
* as we receive check result files for a host/service we won't execute any
|
|
||||||
* active checks. */
|
|
||||||
checkable->SetNextCheck(Utility::GetTime() + checkable->GetCheckInterval());
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -106,11 +106,6 @@ Dictionary::Ptr ApiActions::ProcessCheckResult(const ConfigObject::Ptr& object,
|
||||||
cr->SetCommand(params->Get("check_command"));
|
cr->SetCommand(params->Get("check_command"));
|
||||||
checkable->ProcessCheckResult(cr);
|
checkable->ProcessCheckResult(cr);
|
||||||
|
|
||||||
/* Reschedule the next check. The side effect of this is that for as long
|
|
||||||
* as we receive passive results for a service we won't execute any
|
|
||||||
* active checks. */
|
|
||||||
checkable->SetNextCheck(Utility::GetTime() + checkable->GetCheckInterval());
|
|
||||||
|
|
||||||
return ApiActions::CreateResult(200, "Successfully processed check result for object '" + checkable->GetName() + "'.");
|
return ApiActions::CreateResult(200, "Successfully processed check result for object '" + checkable->GetName() + "'.");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -311,8 +311,16 @@ void Checkable::ProcessCheckResult(const CheckResult::Ptr& cr, const MessageOrig
|
||||||
UpdateFlappingStatus(stateChange);
|
UpdateFlappingStatus(stateChange);
|
||||||
is_flapping = IsFlapping();
|
is_flapping = IsFlapping();
|
||||||
|
|
||||||
/* update next check time on possible state changes */
|
/* update next check time for active and passive check results */
|
||||||
|
if (!GetEnableActiveChecks() && GetEnablePassiveChecks()) {
|
||||||
|
/* Reschedule the next passive check. The side effect of this is that for as long
|
||||||
|
* as we receive passive results for a service we won't execute any
|
||||||
|
* active checks. */
|
||||||
|
SetNextCheck(Utility::GetTime() + GetCheckInterval());
|
||||||
|
} else if (GetEnableActiveChecks()) {
|
||||||
|
/* update next check time based on state changes and types */
|
||||||
UpdateNextCheck();
|
UpdateNextCheck();
|
||||||
|
}
|
||||||
|
|
||||||
olock.Unlock();
|
olock.Unlock();
|
||||||
|
|
||||||
|
|
|
@ -327,11 +327,6 @@ void ExternalCommandProcessor::ProcessHostCheckResult(double time, const std::ve
|
||||||
<< "Processing passive check result for host '" << arguments[0] << "'";
|
<< "Processing passive check result for host '" << arguments[0] << "'";
|
||||||
|
|
||||||
host->ProcessCheckResult(result);
|
host->ProcessCheckResult(result);
|
||||||
|
|
||||||
/* Reschedule the next check. The side effect of this is that for as long
|
|
||||||
* as we receive passive results for a service we won't execute any
|
|
||||||
* active checks. */
|
|
||||||
host->SetNextCheck(Utility::GetTime() + host->GetCheckInterval());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void ExternalCommandProcessor::ProcessServiceCheckResult(double time, const std::vector<String>& arguments)
|
void ExternalCommandProcessor::ProcessServiceCheckResult(double time, const std::vector<String>& arguments)
|
||||||
|
@ -362,11 +357,6 @@ void ExternalCommandProcessor::ProcessServiceCheckResult(double time, const std:
|
||||||
<< "Processing passive check result for service '" << arguments[1] << "'";
|
<< "Processing passive check result for service '" << arguments[1] << "'";
|
||||||
|
|
||||||
service->ProcessCheckResult(result);
|
service->ProcessCheckResult(result);
|
||||||
|
|
||||||
/* Reschedule the next check. The side effect of this is that for as long
|
|
||||||
* as we receive passive results for a service we won't execute any
|
|
||||||
* active checks. */
|
|
||||||
service->SetNextCheck(Utility::GetTime() + service->GetCheckInterval());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void ExternalCommandProcessor::ScheduleHostCheck(double, const std::vector<String>& arguments)
|
void ExternalCommandProcessor::ScheduleHostCheck(double, const std::vector<String>& arguments)
|
||||||
|
|
Loading…
Reference in New Issue