mirror of https://github.com/Icinga/icinga2.git
cluster-zone: consider own zone connected if there's only one endpoint
... because in this case only the checking node can be (not) connected to itself. refs #8570
This commit is contained in:
parent
5f548c8f89
commit
b90b77b275
|
@ -139,25 +139,33 @@ void ClusterZoneCheckTask::ScriptFunc(const Checkable::Ptr& checkable, const Che
|
||||||
double bytesSentPerSecond = 0;
|
double bytesSentPerSecond = 0;
|
||||||
double bytesReceivedPerSecond = 0;
|
double bytesReceivedPerSecond = 0;
|
||||||
|
|
||||||
for (const Endpoint::Ptr& endpoint : zone->GetEndpoints()) {
|
{
|
||||||
if (endpoint->GetConnected())
|
auto endpoints (zone->GetEndpoints());
|
||||||
|
|
||||||
|
for (const Endpoint::Ptr& endpoint : endpoints) {
|
||||||
|
if (endpoint->GetConnected())
|
||||||
|
connected = true;
|
||||||
|
|
||||||
|
double eplag = ApiListener::CalculateZoneLag(endpoint);
|
||||||
|
|
||||||
|
if (eplag > 0 && eplag > zoneLag)
|
||||||
|
zoneLag = eplag;
|
||||||
|
|
||||||
|
if (endpoint->GetLastMessageSent() > lastMessageSent)
|
||||||
|
lastMessageSent = endpoint->GetLastMessageSent();
|
||||||
|
|
||||||
|
if (endpoint->GetLastMessageReceived() > lastMessageReceived)
|
||||||
|
lastMessageReceived = endpoint->GetLastMessageReceived();
|
||||||
|
|
||||||
|
messagesSentPerSecond += endpoint->GetMessagesSentPerSecond();
|
||||||
|
messagesReceivedPerSecond += endpoint->GetMessagesReceivedPerSecond();
|
||||||
|
bytesSentPerSecond += endpoint->GetBytesSentPerSecond();
|
||||||
|
bytesReceivedPerSecond += endpoint->GetBytesReceivedPerSecond();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!connected && endpoints.size() == 1u && *endpoints.begin() == Endpoint::GetLocalEndpoint()) {
|
||||||
connected = true;
|
connected = true;
|
||||||
|
}
|
||||||
double eplag = ApiListener::CalculateZoneLag(endpoint);
|
|
||||||
|
|
||||||
if (eplag > 0 && eplag > zoneLag)
|
|
||||||
zoneLag = eplag;
|
|
||||||
|
|
||||||
if (endpoint->GetLastMessageSent() > lastMessageSent)
|
|
||||||
lastMessageSent = endpoint->GetLastMessageSent();
|
|
||||||
|
|
||||||
if (endpoint->GetLastMessageReceived() > lastMessageReceived)
|
|
||||||
lastMessageReceived = endpoint->GetLastMessageReceived();
|
|
||||||
|
|
||||||
messagesSentPerSecond += endpoint->GetMessagesSentPerSecond();
|
|
||||||
messagesReceivedPerSecond += endpoint->GetMessagesReceivedPerSecond();
|
|
||||||
bytesSentPerSecond += endpoint->GetBytesSentPerSecond();
|
|
||||||
bytesReceivedPerSecond += endpoint->GetBytesReceivedPerSecond();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
ServiceState state;
|
ServiceState state;
|
||||||
|
|
Loading…
Reference in New Issue