Passive checks


Hi guys!

I’m trying to implement passive checks under nagios 2.10…
I have a script that writes:
in the file /appli/nagios/var/rw/nagios.cmd as defined by this line in the nagios.cfg:

I have also set these 2 variables:

In the end, lines are written in the nagios.cmd file, but they don’t seem to be read at all (and of course, they are not deleted).

Do I need to configure something else to get the passive checks working ? or did I do something wrong.
Thanks in advance for your help.
If you need more information about my configurations, just ask :slight_smile:

ps: it might be of interest or not, but the first time I changed the variable check_external_commands from 0 to 1, I reloaded nagios, which ended up stoped a few seconds afterward; I had to restart it…


Should be:
Your passive check information needs to be correct. i.e.
if you have a host1 with check-test then on the central server, you must have a host1 with a service check of check-test, and the spelling must be the identical.
passive_checks_enabled 1 needed in services.cfg for that service check check-test.
active_checks_enabled 0 for that service check.

Are you able to use the website and submit something like a forced check on some service? This will tell us if your external cmd file is working at all.


Thanks for the answer!

I just tried to re-schedule a test from the website;
the line
was writted in the nagios.cmd file … but that’s all:
it never got deleted
the test has never been succesfully re-scheduled

(I’ve also tried with the command_check_interval set to -1; the 15s I wrote was a test to see if I could get it to work)

any ideas about why it doesn’t work properly ? :slight_smile:


Sorry; false alert!
In fact, while trying to get the passive checks working, I don’t why, but I deleted the nagios.cmd file; so I created another one … which was not a piped file as nagios creates it!

that’s why it was not working;
so this problem is solved: I just had to do a restart (not a reload!) so nagios could create a new nagios.cmd file.

So now, I’m back to my old problem: I can’t get a perl script to write in this nagios.cmd file (I know, I can do it in ksh, but I need it to be working in perl). If anyone knows how to do that, please, share with me :slight_smile:
open(EXTERNAL,">>$ENV{NAGIOS_HOME}/var/rw/nagios.cmd")||die “Dying”

thanks again for your help


the nagios.cmd file does not exist until it has been created by some source. So if you are triing to write to it, it’s not there. Instead, >> to it. i.e. append to it, if it exists. If it doesn’t exist, create it.