Looking for input on how I might best achieve this, preferably without getting into customising XI too much under the hood (don't want to affect future upgrades etc.) and without creating too much admin overhead when needing to add more checks in future.
As briefly as I can
The ideal situation would be to have a Hostgroup called APAC_Hosts and when a host is dropped into that, XI would automatically run all services/host-checks assigned to that host remotely on a CentOS host I'd setup in the AWS APAC region. I've looked at these possibilities so far and have outlined why they're not ideal -
Use check_by_ssh to run the checks on the remote monitoring host - this seems to be the best option, but on it's own I would need setup a copy of all the custom commands and prepend "check_by_ssh -H xxxxxx" etc. to them, then create copies of the services that use these comamnds and apply these services to the APAC host group. Creating the copies isn't really the issue, it could be scripted easily enough, just maintaining them and conveying an understanding of this setup to other teams would be challenging. In essense it violates the reusability ethos and causes all the usual issues duplicating code tends to
NPRE - Same duplication of code/commands but in an even less manageable way than check_by_ssh because they're defined on a remote host outside the XI UI.
DNX - Over complicates the solution I think
Fusion/MNTOS - Again puts definition of commands etc. on remote nodes that then need to be managed. Over complicates things again.
Mod_Gearman - This looks very promising, however the fact it cannot feedback performance data is unfortunate for my usecase, I'd guess I'd either not have any performance data for those APAC hosts or the performance check would run from the EU based monitoring host, either of which would not be ideal. It's also geared (:roll:) at being a load-balancing solution so introduces a fairly considerable amount of complexity that we have no need for and it appears would be shown in the XI UI - so same issue of educating other teams on something fairly complex.
Write my own NEB - This would seem to be the best appoach at the moment I think - write a NEB that intercepts all external command calls and if they're in the hostgroup APAC_Hosts, pre-pend the command with one to check_by_ssh to run it on the APAC monitoring host instead. It would basically be a much more basic version of mod_gearman with no load-balancing but I don't I'd lose the performance data. However having not done low-level C programming in many years I'm not sure I could pull this off. I think this would be a really handy NEB for others as well, kinda surprised it doesn't already exist.
Any thoughts, anything I've missed?
Thanks!