Hello, I’m working on configuring Icinga2 for the first time, and I have been following the documentation extremely closely, and frankly it is confusing me like crazy! So I will step through how I have it configured and explain how I discovered my problem.
So – I have the top down configuration set up as per the distributed documentation recommends. This means my master zones.conf defines the following
Itself as an endpoint,
The master zone, with itself as the endpoint.
The satellite Endpoint
The satellite zone containing the satellite endpoint with the parent set to master.
All the global options set to True.
The satellite conf is configured for the master to reach to it, and the client confs are configured for the satellite to reach it.
Where I am getting confused is when it introduces the zones.d/satellite/.conf configurations. Per the documentation I should be defining the Endpoint of the client (done), the zone for the client (done), and the Host object of the client (done). I then created a few services, one of which is a “custom” check that exists on the satellite hosts (which is confirmed to be loaded by the constants configuration file.) When I try to restart icinga, I get an error that the check command doesn’t exist on the CLIENT node. I’ve gone and added it to the client node and the error goes away. This is indicating to me the test is running from the client and not the satellite. If this is the case, what is the purpose of the
command_endpoint = host.vars.client_endpoint?
Is the documentation just incorrect?