?
Solved

Issues with Nagios NRPE monitoring (Return code of 127 is out of bounds - plugin may be missing)

Posted on 2012-12-27
11
Medium Priority
?
5,034 Views
Last Modified: 2012-12-27
Hello,

I'm at my wits' end trying to fix my Nagios server's issue. I've followed the NRPE documentation closely, but I'm still getting this same error:       (Return code of 127 is out of bounds - plugin may be missing) in the Nagios web service. When I run the command
/usr/local/nagios/libexec/check_nrpe -H 10.254.1.2 -c check_load

Open in new window

from the terminal, I receive the expected output. Not so much with what's inside my configuration files.

My setup is a LAN virtualized using VMWare Workstation. The monitoring and monitored machines are connected through a LAN segment, both running the latest version of CentOS 6.

Config files in regards to NRPE are as follows:

linux.cfg
define host{
        use                     remote-linux-server            ; Name of host template to use
							; This host definition will inherit all variables that are defined
							; in (or inherited by) the linux-server host template definition.
        host_name               linux
        alias                   Linux Server
        address                 10.254.1.2
        }
define service{
        use                             generic-service         ; Name of service template to use
        host_name                       linux
        service_description             CPU Load
	check_command			check_nrpe!check_load
        }

define hostgroup{
        hostgroup_name  remote-linux-servers ; The name of the hostgroup
        alias           Remote Linux Servers ; Long name of the group
        members         linux     ; Comma separated list of hosts that belong to this group
        }


define service{
	use				generic-service
	host_name			linux
	service_description		Ping
	check_command			check_ping!100.0,20%!500.0,60%
	}

Open in new window


commands.cfg
define command{
	command_name	check_nrpe
	command_line	USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
	}

Open in new window


remote host side

/etc/xinetd.d/nrpe
service nrpe
{
       	flags           = REUSE
        socket_type     = stream    
	port		= 5666    
       	wait            = no
        user            = nagios
	group		= nagios
       	server          = /usr/local/nagios/bin/nrpe
        server_args     = -c /usr/local/nagios
 no
	only_from       = 10.254.1.1
}

Open in new window


nrpe.cfg
log_facility=daemon

pid_file=/var/run/nrpe.pid

server_port=5666

nrpe_user=nagios

nrpe_group=nagios

allowed_hosts=127.0.0.1,10.254.1.1

dont_blame_nrpe=0

debug=0

command_timeout=60

connection_timeout=300

command[check_users]=/usr/local/nagios/libexec/check_users -w 5 -c 10
command[check_load]=/usr/local/nagios/libexec/check_load -w 15,10,5 -c 30,25,20
command[check_hda1]=/usr/local/nagios/libexec/check_disk -w 20% -c 10% -p /dev/hda1
command[check_zombie_procs]=/usr/local/nagios/libexec/check_procs -w 5 -c 10 -s Z
command[check_total_procs]=/usr/local/nagios/libexec/check_procs -w 150 -c 200 

Open in new window

0
Comment
Question by:avlmp
  • 6
  • 5
11 Comments
 
LVL 18

Expert Comment

by:Sanga Collins
ID: 38724505
I am not sure if its because of the format when pasting code, but your /etc/xinetd.d/nrpe file does not look correct. Here is a copy of mine from a working server that runs  check_load

# default: on
# description: NRPE (Nagios Remote Plugin Executor)
service nrpe
{
             flags           = REUSE
        socket_type     = stream    
      port            = 5666    
             wait            = no
        user            = nagios
      group            = nagios
             server          = /usr/sbin/nrpe
        server_args     = -c /etc/nagios/nrpe.cfg --inetd
             log_on_failure  += USERID
        disable         = no
      only_from       = 127.0.0.1, 192.168.50.96
}
0
 

Author Comment

by:avlmp
ID: 38724538
I seem to have made a mistake pasting that file...

Correct version is as follows:
service nrpe
{
        flags           = REUSE
        socket_type     = stream
        port            = 5666
        wait            = no
        user            = nagios
        group           = nagios
        server          = /usr/local/nagios/bin/nrpe
        server_args     = -c /usr/local/nagios/etc/nrpe.cfg --inetd
        log_on_failure  += USERID
        disable         = no
        only_from      = 10.254.1.1
}
0
 
LVL 18

Expert Comment

by:Sanga Collins
ID: 38725076
Ok cool, The error message you are getting usually means the plugin is not in the right place. When you say you ran the command from the terminal, was this on the nagios server or on the remote server to be monitored?

When faced with the same problem (seems to happen everytime i install NRPE) I usually start on the remote server and work my way backwards.

i) can command be executed on remote server command line and return correct results?
ii) can command be executed on nagios server and return correct results?
iii) if ii) = no can any command at all be called from nagios server?
0
Get your Disaster Recovery as a Service basics

Disaster Recovery as a Service is one go-to solution that revolutionizes DR planning. Implementing DRaaS could be an efficient process, easily accessible to non-DR experts. Learn about monitoring, testing, executing failovers and failbacks to ensure a "healthy" DR environment.

 

Author Comment

by:avlmp
ID: 38725096
i) yes
ii) yes
iii) I can perform a ping command successfully and it is displayed in the web interface, just not things related to check_nrpe
0
 
LVL 18

Expert Comment

by:Sanga Collins
ID: 38725230
OK, I'm assuming you are running the commands as root account. If so, what is the result if you run the command as the nagios user on the remote server.

# su nagios
# /usr/local/nagios/libexec/check_load -w 15,10,5 -c 30,25,20
0
 

Author Comment

by:avlmp
ID: 38725250
Result seems good:

OK - load average: 0.30, 0.09, 0.03|load1=0.300;15.000;30.000;0; load5=0.090;10.000;25.000;0; load15=0.030;5.000;20.000;0
0
 
LVL 18

Expert Comment

by:Sanga Collins
ID: 38725309
ok wow!

Next thing I look at is the nrpe.cfg in /etc/nagios ;

In mine, line 11 only the ip address of my nagios server as follows

allowed_hosts=192.168.50.96

instead of ...

allowed_hosts=127.0.0.1,192.168.50.96
0
 

Author Comment

by:avlmp
ID: 38725359
Doesn't seem to be changing anything, even after restarting nagios and xinetd services in their respective hosts.
0
 
LVL 18

Accepted Solution

by:
Sanga Collins earned 2000 total points
ID: 38725631
I loaded all your config files into my nagios server and this is what I found :)

commands.cfg

define command{
      command_name      check_nrpe
      command_line      USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
}

I think that should say $USER1$

this variable = path to nagios executables if it is incorrect then it would explain that nagios cannot find the plugin check_nrpe. It would also explain why everything tests correctly from the command line

Hope that helps :)
1
 

Author Comment

by:avlmp
ID: 38725684
God bless you, it works now!
0
 
LVL 18

Expert Comment

by:Sanga Collins
ID: 38725694
Fantastic! It's always the little things that get me too!
0

Featured Post

A Cyber Security RX to Protect Your Organization

Join us on December 13th for a webinar to learn how medical providers can defend against malware with a cyber security "Rx" that supports a healthy technology adoption plan for every healthcare organization.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Ready to get certified? Check out some courses that help you prepare for third-party exams.
Your business may be under attack from a silent enemy that is hard to detect. It works stealthily in the shadows to access and exploit your critical business information, sensitive confidential data and intellectual property, for commercial gain. T…
If you're a developer or IT admin, you’re probably tasked with managing multiple websites, servers, applications, and levels of security on a daily basis. While this can be extremely time consuming, it can also be frustrating when systems aren't wor…
Screencast - Getting to Know the Pipeline
Suggested Courses

862 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question