mirror of https://github.com/Icinga/icinga2.git
Fix: Volatile check results for OK->OK transitions are logged into DB IDO statehistory
fixes #11823
This commit is contained in:
parent
e27dee5476
commit
b4843dc81b
|
@ -355,7 +355,8 @@ void Checkable::ProcessCheckResult(const CheckResult::Ptr& cr, const MessageOrig
|
|||
String old_state_str = (service ? Service::StateToString(old_state) : Host::StateToString(Host::CalculateState(old_state)));
|
||||
String new_state_str = (service ? Service::StateToString(new_state) : Host::StateToString(Host::CalculateState(new_state)));
|
||||
|
||||
if (hardChange || is_volatile) {
|
||||
/* Whether a hard state change or a volatile state change except OK -> OK happened. */
|
||||
if (hardChange || is_volatile && !(IsStateOK(old_state) && IsStateOK(new_state))) {
|
||||
OnStateChange(this, cr, StateTypeHard, origin);
|
||||
Log(LogNotice, "Checkable")
|
||||
<< "State Change: Checkable " << GetName() << " hard state change from " << old_state_str << " to " << new_state_str << " detected." << (is_volatile ? " Checkable is volatile." : "");
|
||||
|
@ -365,7 +366,8 @@ void Checkable::ProcessCheckResult(const CheckResult::Ptr& cr, const MessageOrig
|
|||
<< "State Change: Checkable " << GetName() << " soft state change from " << old_state_str << " to " << new_state_str << " detected.";
|
||||
}
|
||||
|
||||
if (GetStateType() == StateTypeSoft || hardChange || recovery || is_volatile)
|
||||
if (GetStateType() == StateTypeSoft || hardChange || recovery ||
|
||||
is_volatile && !(IsStateOK(old_state) && IsStateOK(new_state)))
|
||||
ExecuteEventHandler();
|
||||
|
||||
if (send_downtime_notification)
|
||||
|
|
Loading…
Reference in New Issue