mirror of https://github.com/Icinga/icinga2.git
Only check lag if connected
This commit is contained in:
parent
35038f72d6
commit
b870e84904
|
@ -125,22 +125,22 @@ void ClusterZoneCheckTask::ScriptFunc(const Checkable::Ptr& checkable, const Che
|
||||||
if (connected) {
|
if (connected) {
|
||||||
cr->SetState(ServiceOK);
|
cr->SetState(ServiceOK);
|
||||||
cr->SetOutput("Zone '" + zoneName + "' is connected. Log lag: " + Utility::FormatDuration(zoneLag));
|
cr->SetOutput("Zone '" + zoneName + "' is connected. Log lag: " + Utility::FormatDuration(zoneLag));
|
||||||
|
|
||||||
|
/* Check whether the thresholds have been resolved and compare them */
|
||||||
|
if (missingLagCritical.IsEmpty() && zoneLag > lagCritical) {
|
||||||
|
cr->SetState(ServiceCritical);
|
||||||
|
cr->SetOutput("Zone '" + zoneName + "' is connected. Log lag: " + Utility::FormatDuration(zoneLag)
|
||||||
|
+ " greater than critical threshold: " + Utility::FormatDuration(lagCritical));
|
||||||
|
} else if (missingLagWarning.IsEmpty() && zoneLag > lagWarning) {
|
||||||
|
cr->SetState(ServiceWarning);
|
||||||
|
cr->SetOutput("Zone '" + zoneName + "' is connected. Log lag: " + Utility::FormatDuration(zoneLag)
|
||||||
|
+ " greater than warning threshold: " + Utility::FormatDuration(lagWarning));
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
cr->SetState(ServiceCritical);
|
cr->SetState(ServiceCritical);
|
||||||
cr->SetOutput("Zone '" + zoneName + "' is not connected. Log lag: " + Utility::FormatDuration(zoneLag));
|
cr->SetOutput("Zone '" + zoneName + "' is not connected. Log lag: " + Utility::FormatDuration(zoneLag));
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Check whether the thresholds have been resolved and compare them */
|
|
||||||
if (missingLagCritical.IsEmpty() && zoneLag > lagCritical) {
|
|
||||||
cr->SetState(ServiceCritical);
|
|
||||||
cr->SetOutput("Zone '" + zoneName + "' is connected. Log lag: " + Utility::FormatDuration(zoneLag)
|
|
||||||
+ " greater than critical threshold: " + Utility::FormatDuration(lagCritical));
|
|
||||||
} else if (missingLagWarning.IsEmpty() && zoneLag > lagWarning) {
|
|
||||||
cr->SetState(ServiceWarning);
|
|
||||||
cr->SetOutput("Zone '" + zoneName + "' is connected. Log lag: " + Utility::FormatDuration(zoneLag)
|
|
||||||
+ " greater than warning threshold: " + Utility::FormatDuration(lagWarning));
|
|
||||||
}
|
|
||||||
|
|
||||||
cr->SetPerformanceData(new Array({
|
cr->SetPerformanceData(new Array({
|
||||||
new PerfdataValue("slave_lag", zoneLag, false, "s", lagWarning, lagCritical),
|
new PerfdataValue("slave_lag", zoneLag, false, "s", lagWarning, lagCritical),
|
||||||
new PerfdataValue("last_messages_sent", lastMessageSent),
|
new PerfdataValue("last_messages_sent", lastMessageSent),
|
||||||
|
|
Loading…
Reference in New Issue