Current setup is this:
1 Master
3 Satellites
1 Agent
3 Zones (master, dev, qa)
Right now, all 5 hosts show up in Icinga2.
The master is running checks locally on itself without any issues.
The master should be running checks on the satellites to verify their health.
The satellites should be running checks on the agents.
My issue is, all of the checks that the master should be preforming on the satellites are just stuck pending are are showing as Late. When I click on “Check Now” in the webui, it says its scheduling the check, but it never gets a result.
Well, I believe I got this figured out, but it raises another question.
I had to manually create the conf files in the zones.d folder on the satellites and place the config files I have on the master in those directories, on the satellites.
Am I wrong in thinking that if I have something like
I have those configured in zones.conf on master. Then inside of zones.d I have a folder named for each zone configured. Inside those zone folders, I have the configuration for the agents within that zone.
But, it doesn’t seem that those are syncing to the satellites. I have dev-satellite with its endpoint and zone configured in the master’s zone.conf. Then on the master I have zones.d/dev-satellites/dev-agent.conf. Am I wrong in thinking that the dev-agent.conf file should sync to the dev-satellite host’s zone.d folder inside a folder called dev-satellites?
The vars.zone is just used for a hostgroup template matcher.
The log extract tells me, that the Endpoint object for dev-agent.qa.***.net was defined twice (one time in your main config on the master, the other one probably on the satellite directly).
The Icinga2 on the satellite rejects the configuration therefore and never applies it. That is the reason why you never get any results, the satellite doesn’t know about it at all, since it is running with a different configuration.
In general I put the Endpoint object for Agents (not Satellites!!) in the main configuration and NOT locally in Satellites (or generally in the zones.conf file).
No, maybe that is where I screwed up, the host object for the satellites I put into the zone they are in.
So, am I correct here, that all satellite zones themselves should be defined in zones.conf on the master, and then the host object entry should be in zones.d/master/?
The above command would be telling it that the satellite is the master, but will the satellite pass everything to the master correctly? Or do I need to replace every mention of the satellite with the master host? Ideally, we would not want to open up the master to every single host that is going to be an agent, and would want the agents to only speak to the satellites. I did see mention of ca-proxy, but I’m not sure if there is anyhthing I need to change on the satellite or the above command for that to work.
Now this makes less sense. I managed to get the qa agent host added, and most of the checks are working, but there are a handful of them that are just stuck pending and not running.