Zones with more than two endpoints

We have the following problem: We need to check availability for a lot of printers from our print servers. As we have clustered print service, where several servers may get jobs for a specific printer, I configured them as endpoints to zones, e. g. printer_123 gets checked by zone_a, where printserver_x, printserver_y and printserver_z are endpoints of zone_a.

icinga2 daemon -C now complains:

warning/Zone: The Zone object 'zone_a' has more than two endpoints. Due to a known issue this type of configuration is strongly discouraged and may cause Icinga to use excessive amounts of CPU time.

This is only a warning and β€œit works”, but I want to make sure not to waste resources. Is there a better way to get this accomplished? I want the printers checked, even when a print server is in maintenance, so configuring only one endpoint is not an option.

  • version: r2.15.2-1
  • Debian 12, latest patches installed
  • Enabled features: api checker icingadb influxdb2 mainlog notification
  • Icinga Web 2 Version 2.12.6
  • Modules:
    *
    director 1.11.5
    grafana 3.0.0
    icingadb 1.2.2
    incubator 0.22.0
    jira 1.3.4
    x509 1.3.2

I think I heard of an endless sync issue between the endpoints if there are more than 2 in one zone.

Having them as endpoints of one zone might not even be necessary.

Considering a one Master setup:
Masternode in Master-zone->printerserver_x zone β†’ printserver_x endpoint
Masternode in Master-zone->printerserver_y zone β†’ printserver_y endpoint
Masternode in Master-zone->printerserver_z zone β†’ printserver_z endpoint

for an agentless setup the check for all of these printserverendpoints are done by the master.

Considering a Satellite Setup:
Masternode in Master-zone->Satellite in satellite zone printer ->printerserver_x zone β†’ printserver_x endpoint
Masternode in Master-zone->Satellite in satellite zone printer ->printerserver_y zone β†’ printserver_y endpoint
Masternode in Master-zone->Satellite in satellite zone printer ->printerserver_z zone β†’ printserver_z endpoint

these checks can and should be done by the satellite.

If you have two Satellites or to masters in one zone, this is for load distribution and failover.

It would be nice to have more then two for some scenarios but I think yours isn’t one of them.