How to check a server's services from two different servers?

I have:

  • a master_icinga_server living in the master zone
  • a http_server and a monitor_server each living in their own zone and their parent being the master zone.

What I want to do is to check basic things (disk free for example) on http_server. But I want to check whether the HTTP service on http_server is working from the monitor_server.

I’d expect something like this to work:

object Service "httpX" {

   host_name = "http_server" # the http service should be visible under the http_server in icinga_web
   command_endpoint = "monitor_server" # monitor_server should execute the check 
   # or
   # zone = "monitor_server"

I have been banging my head against this problem for hours. There are some suggestions around on how to solve this problem but none of them seems to work.

The problem I encounter is that icinga on monitor_server does not know an object “http_server” of type Host.

Has anybody succeeded to set something like that up? Could post a working example?

Maybe a more straight forward question: is there a way to push the definition of some object (here: Host “http_server”) from the master zone to some random other zone? How?