Icinga satellite architecture to reduce the load on icinga master

I’m working on a plan to setup icinga distributed architecture using Master–> Satellite–>Agents . I installed icinga2 only on Master and satellites which is working good. I don’t have plan to install icinga2 agents on my “Agents” (my host machine’s). My goal is to reduce the load on master node also satellite should executing the check and send the result back to master. Is it possible do this same way …Any suggestion will be highly appreciated , I have gone through the docs got confusing me little bit

It is possible to specify the endpoint that executes the check for a service object with the command_endpoint configuration attribute.


I’m not sure if I understand what exactly is wanted, so here a more general info:

  • Satellites connect to masters.
  • Satellites have their own zones and contain a subnet of the overall hosts.
  • Agents connect to satellites or to the master in the “master” zone, depends on the setup of the Agent.
  • If an agent is within a satellite zone, checks which would be normally executed directly at the master are delegated to the satellites
  • Satellites send information back to the masters


Hi @cspeterson Correct me if i’m wrong . In agents configuration do i need to specify the command endpoint variable as satellite endpoint name ?

This scenario is exactly as documented here.

1 Like

No, if needed command endpoint specify the agent.

Thanks for the quick response ,
I’m getting the below error , I’m not installing icinga on any of the agents , I think The agents are waiting for the satellites to connect

] debug/ApiListener: Not connecting to Zone ‘ITHOST’ because it’s not in the same zone, a parent or a child zone.

If you want any check to be executed on an agent, you need to install icinga there and create zone end endpoint objects for every agent each.

i donot want install agents on any host. I need the check to be executed on satellite that’s it

That’s ok if you want to use remote checks only e.g. http or ssh. You cannot use checks that need to be executed locally e.g. disk, load, mem etc.

any idea why this check_souce become null

The check source gets filled once it was executed.

1 Like

Thanks it worked … I appreciate your effort to help others

1 Like