[Nagiosplug-devel] Remote execution of plugins reporting local results

Caron, Chris caronc at navcanada.ca
Thu Aug 7 19:34:14 CEST 2008


Hi Everyone,

 

I'm new to Nagios as well as this community, and am having a small issue
with the development of a 'Nagios plugin'.

 

All existing plug-ins I use, as well as the ones found on NagiosExchange
seem to work great... however I wrote a simple script following the
rules (or so I think) which outputs perfectly on my Nagios console.  The
problem is; Nagios seems to be executing this script locally and placing
its result on each host (on the web interface).

 

The tool I run is fairly complicated, but if I strip out all the content
and do a simple file count in a directory, I get the same results.
Assume 3 hosts: HostA, HostB, and HostC where HostA runs the web
application.  The output on all 3 hosts always pertains to what is on
HostA.  Essentially 'Nagios' is 'lying' :-) to me when it reports
information on other hosts (but for this plugin only).

 

To reproduce this (the code is significantly reduced to avoid making
this email larger then it already is), just make a simple check_test
plugin (in the plugin dir) with this content:

#!/bin/sh

#

# ## Plugin for Nagios to tell if it lies :)

# Usage: ./check_test

STATE_OK=0

COUNT=$(ls /tmp | wc -l)

 

MESG="OK - $COUNT"

EXITSTATUS=$STATE_OK

echo "$MESG"

exit $EXITSTATUS

 

 

Here is your command information:

define command{

      command_name      check_test

      command_line      /usr/lib/nagios/plugins/check_test

      }

 

Here is the service information (update the host x3):

# Service definition

define service{

      # Name of service template to use

      use    generic-service   

      host_name   node01.rhc1

      service_description  Test

      is_volatile   0

      check_period   24x7

      max_check_attempts  3

      normal_check_interval  5

      retry_check_interval  1

      contact_groups   admins

      notification_interval  120

      notification_period  24x7

      notification_options  w,u,c,r

      check_command   check_test

 }

define service{

      # Name of service template to use

      use    generic-service   

      host_name   node02.rhc1

      service_description  Test

      is_volatile   0

      check_period   24x7

      max_check_attempts  3

      normal_check_interval  5

      retry_check_interval  1

      contact_groups   admins

      notification_interval  120

      notification_period  24x7

      notification_options  w,u,c,r

      check_command   check_test

 }

define service{

      # Name of service template to use

      use    generic-service   

      host_name   node03.rhc1

      service_description  Test

      is_volatile   0

      check_period   24x7

      max_check_attempts  3

      normal_check_interval  5

      retry_check_interval  1

      contact_groups   admins

      notification_interval  120

      notification_period  24x7

      notification_options  w,u,c,r

      check_command   check_test

 }

 

The output from the above on my machine reports 'OK - 14' on each and
every host in Nagios.  There are in-fact '14' files on Node 01 (host A
as per the example above), but there is a completely different file
count on the other 2 nodes. Why does Nagios fill in the results from the
host using the 'www' package in replace of all other hosts for 'only'
this plugin?  Or... to rephrase the question: what am I doing wrong? :-)

 

Chris

 

 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://nagios-plugins.org/archive/devel/attachments/20080807/0f62aa6a/attachment.html>


More information about the Devel mailing list