Page 1 of 1

Problem with custom plugin on a remote linux box

Posted: Thu Sep 02, 2010 2:14 am
by puckoff7337
Hi All,

Thanks for taking the time to read this. I am currently trying to setup Nagios to monitor a Feed Handler on a remote Linux box. I am so close I can taste it! Sadly, the nagios admin doesn't appear to be reading the command properly. I am new to Nagios so please bear with me, there are a lot of moving pieces so I thought i would provide as much information as possible to make it easy to figure out the issue. If there is something I am missing, please don't hesitate to ask.

To start with, the admin is successfully monitoring other services on the box, ping, processes, disk usage, etc. but for the custom plugin I am trying to read, it fails with a status of CRITICAL and status info of NULL. Here is what I believe to be the relevant config info.

On the machine being monitored
I added the perl script I created to /usr/local/nagios/libexec/custom/ (its a modification of http://www.deimos.fr/gitweb/?p=nagios_p ... 45;hb=HEAD I have tested it from the command line and it works as expected)

in the file: vi /usr/local/nagios/etc/nrpe.cfg i added
command[check_wadmin]=perl /usr/local/nagios/libexec/custom/check_wadmin.pl -f /tmp/nagiosInput.txt -i wait -n 35

On the monitoring machine
I already had the machine monitoring the remote linux box's basic stats, I did this by creating a remotelinuxhost.cfg file at /usr/local/nagios/etc/objects (and adding a reference in the main config)

To remotelinuxhost.cfg I added:

define service{
use generic-service ; Name of service template to use
host_name Sun89
service_description Check Feed Handler
check_command check_wadmin
}


I also added commands.cfg (in the same folder)

define command{
command_name check_wadmin
command_line perl /usr/local/nagios/libexec/custom/check_wadmin.pl -f /tmp/nagiosInput.txt -i wait -n 35
}

When I reloaded the service, it accepted the config but the result is as listed above... if anyone has any suggestions it would be greatly appreciated!!!

Re: Problem with custom plugin on a remote linux box

Posted: Thu Sep 02, 2010 9:19 am
by tonyyarusso
Can you run the plugin successfully from the command line as the nagios user? If yes, then I suspect you need to add a line to your perl script to include /usr/local/nagios/libexec in the perl path.

Re: Problem with custom plugin on a remote linux box

Posted: Fri Sep 17, 2010 5:33 am
by puckoff7337
Hi Tony, Thanks for the response, sorry for my delayed reply!

To answer your question, I can run the plugin successfully from the command line as the nagios user (the box being monitored that is)

I am not sure what your second suggestion was, can you please elaborate?

Just an FYI, I also posted this question to the mailing list and they suggested I try adding the full path to the perl interpreter so I have tried the following now as well

On the machine being monitored
I have the perl script I created in /usr/local/nagios/libexec/custom/ (its a modification of http://www.deimos.fr/gitweb/?p=nagios_p ... 45;hb=HEAD I have tested it from the command line as the nagios user and it works as expected)

in the file: /usr/local/nagios/etc/nrpe.cfg i added
command[check_wadmin]=/usr/bin/perl /usr/local/nagios/libexec/custom/check_wadmin.pl -f /tmp/nagiosInput.txt -i wait -n 35



On the monitoring machine
I already had the machine monitoring the remote linux box's basic stats, I did this by creating a remotelinuxhost.cfg file at /usr/local/nagios/etc/objects (and adding a reference in the main config)

To remotelinuxhost.cfg I added:

define service{
use generic-service ; Name of service template to use
host_name Sun89
service_description Check Feed Handler
check_command check_wadmin
}


I also added to the commands.cfg file (in the same folder)

#custom - 'check_wadmin' command definition
define command{
command_name check_wadmin
command_line check_nrpe
}

*NOTE: I also tried this but when I tried to reload the service it wouldn't accept it:
define command{
command_name check_nrpe
command_line /usr/bin/perl /usr/local/nagios/libexec/custom/check_wadmin.pl -f /tmp/nagiosInput.txt -i wait -n 35
}


The Nagios web interface now has the error message:
(Return code of 127 is out of bounds - plugin may be missing)

Anyone have any ideas? Any suggestions would be much appreciated!

Re: Problem with custom plugin on a remote linux box

Posted: Fri Sep 17, 2010 11:56 am
by tjilal
HI,

I have same isue with nagios i can run command successfull to check host from nagios server but my web interface is cotinusly giving this errorr.

"Return code of 127 is out of bounds - plugin may be missing"


Any solution please

Re: Problem with custom plugin on a remote linux box

Posted: Sun Sep 19, 2010 9:17 pm
by puckoff7337
Hi

I joined the mailing list to ask this question, gets much faster responses! They helped me get it working and here is how:

> I also added commands.cfg (in the same folder)
>
> #custom - 'check_wadmin' command definition
> define command{
> command_name check_wadmin
> command_line check_nrpe
> }

Bzzzt. Here's where it's incorrect.

check_nrpe only checks the status of the NRPE daemon on the remote
end. You need to use NRPE on the remote end to invoke your
check_wadmin test.

So, on your Nagios server, you need to set the command_line for the
check_wadmin command to something like:

$USER1$/check_nrpe -H $HOSTADDRESS$ -c check_wadmin


$USER1$
^^^^^^^ The path to your local plugins (on the Nagios server)

check_nrpe
^^^^^^^^^^ Need to use check_nrpe to check the command on the
remote host

-H $HOSTADDRESS$
^^^^^^^^^^^^^^^^ What host to check

-c check_wadmin
^^^^^^^^^^^^^^^ What command to
run *ON THE
REMOTE HOST*

NRPE only allows you to run plugins designed to be local-only on
a remote system. You need to tell it *what* to run, and *how*
to run it.