we want Icinga to monitor the availability of client hosts to a special service running on a remote host. (So checks to the client nodes themselves make no sense.)
For each client host its availability should be displayed.
For security reason, only ssh connections initiated from the Icinga host are permitted to the remote host.
My rough idea is
a) On remote host to dump locally a list consisting of of hosts and their availability status.
b) To fetch the list by Icinga host from remote host
c) To process the list with service checks for each client host
To Implement a) and c) seems to be trivial:
A) A check script on remote host called via ssh remote service check generates the list. The return code is used to display the availability of the special service itself.
C) On Icinga host execute for each client host a service check locally which takes the according state from the local list.
My question is:
Is it possible to implement b) so that fetching the list is triggered by A) ?
Is there a better, cleaner approach?
Because, EventCommand triggers only conditioanlly.
I didn’t find any way to just execute “auxillary” scripts or similar not related to a service which is related to a service/host.
Only one script can be called for a service.
A cron job (i.e. totally unrelated to Icinga) would introduce a time jitter to the data.