Custom CheckCommands and Remote Host Execution

(Madtempest) #1

Hi all
I am not using Director but I am using the API.
I have some custom commands, and not so custom (such as check_mem.pl) and I am having issues with them actually executing against the host.

For example, I am aware of the fact adding

command_endpoint = host.vars.client_endpoint

to your service will execute it on the client. I also know that the client needs to have a zone and an endpoint in your zones.conf.

But it looks like using the standard gamut of check is executing on the clients (from what I can tell.)

Am I wrong in my assumptions? What am I missing?

Thanks

(Aflatto) #2

Can you share your configuration and the error you are getting ?
these migh shed more light on the issue and help us help you.

(Madtempest) #3

Sorry, I thought I was clear enough.

For example check_mem.pl.

apply Service “memory” {
import “generic-service”
check_command = “mem”
vars.mem_warning = “80”
vars.mem_critical = “90”
vars.mem_used = “true”
assign where host.vars.os_type == “Linux”
}

For my Icinga2 master, it reports correctly. For a VM with 16Gb of RAM, it reports the same as the Icinga2 master. There is no error, just misreporting. It is clearly not using the API to execute on the client.

As noted, I am using the API and not Commands. I have correctly signed a certificate for the client, and I have a zone and endpoint set up in the client.

(Roland Sommer) #4

your service definition need to have

command_endpoint = host.name

to be executed on a client.