Hey there,
I’m currently testing Icinga Ha Setups with one master and two agents (see zone.conf below).
I’ve configured two clients to be monitored by the agents in agent zone with check_ping. This is working fine so far.
Then I blocked requests from agent1 to the two clients using the local firewall and discovered, that client1 gets reported as DOWN, client2 gets reported as UP. After allowing the requests from both agents to both clients, both clients are reported as UP. When I now block all requests from agent2 to the clients, client1 gets reported as UP, client2 gets reported as DOWN.
So the problem is: It depends on the agent, that can reach a client, whether it is reported as UP or DOWN.
I clearly understand, that it’s a tough decision, whether you want to report a client as DOWN or UP when only one of two agents can reach it, but depending this on the agent that is able to reach it, doesn’t seem to be the right choice for me.
Is there a way to force a failed check on one agent to be run on the other agent in the same zone before globally reporting it as failed?
Thanks,
Jo-Jo
Additional Information:
- Version used: r2.12.3-1
- Operating System and version: Debian 10
- Enabled features: api checker command compatlog debuglog ido-pgsql mainlog notification statusdata
agent1.localdomain zones.conf:
object Endpoint "master.localdomain" {
host = "192.168.1.3"
port = "5665"
}
object Zone "master" {
endpoints = [ "master.localdomain" ]
}
object Endpoint "agent1.localdomain" {
}
object Endpoint "agent2.localdomain" {
host = "192.168.1.13"
port = "5665"
}
object Zone "agents" {
endpoints = [ "agent1.localdomain", "agent2.localdomain" ]
parent = "master"
}
object Zone "global-templates" {
global = true
}
object Zone "director-global" {
global = true
}