I am having a problem with respect to Nagios / NRPE service is as follows:
I have done the configuration of each of the files, but does not recognize me nagios response delivered by NRPE on the client:
File: /etc/nagios/nrpe.cfg (client)
command[check_users]=/usr/lib64/nagios/plugins/check_users -w 5 -c 10
command[check_load]=/usr/lib64/nagios/plugins/check_load -w 15,10,5 -c 30,25,20
command[check_disk]=/usr/lib64/nagios/plugins/check_disk -w 20% -c 10% -p /dev/mapper/VG_opt-LV_opt
command[check_zombie_procs]=/usr/lib64/nagios/plugins/check_procs -w 5 -c 10 -s Z
command[check_total_procs]=/usr/lib64/nagios/plugins/check_procs -w 150 -c 200
File: services.cfg (Servidor)
define service{
use generic-service
host_name 192.168.160.10, 192.168.160.11, 192.168.160.12
service_description Disk Space
notification_options w,u,c,r
check_command check_nrpe!check_disk
}
Clearly I restarted the services on the client and server and other consultations via NRPE results are obtained, as the number of processes, CPU and RAM is the problem with check_disk.
The result obtained with the check_disk locally is:
DISK OK - free space: /opt 34024 MB (76% inode=98%);| /opt=10522MB;37544;42237;0;46930
Result via web
Disk SpaceUNKNOWN 2014-09-26 09:18:31 0d 15h 52m 53s 4/4 (No output returned from plugin)
it is even more strange when from the nagios server if I get results.
$ ./check_nrpe -H 192.168.160.10 -c check_disk
DISK OK - free space: /opt 33389 MB (74% inode=98%);| /opt=11156MB;37544;42237;0;46930
Vía Web:
**(No output returned from plugin)**
(No output returned from plugin)
NRPE Plugin for Nagios
Copyright (c) 1999-2008 Ethan Galstad ([email protected])
Version: 2.15
Last Modified: 09-06-2013
License: GPL v2 with exemptions (-l for more info)
SSL/TLS Available: Anonymous DH Mode, OpenSSL 0.9.6 or higher required
\nUsage: check_nrpe -H <host> [ -b <bindaddr> ] [-4] [-6] [-n] [-u] [-p <port>] [-t <timeout>] [-c <command>] [-a <arglist...>]
\nOptions:
-h = Print this short help.
-l = Print licensing information.
-n = Do no use SSL
-u = Make socket timeouts return an UNKNOWN state instead of CRITICAL
<host> = The address of the host running the NRPE daemon
<bindaddr> = bind to local address
-4 = user ipv4 only
-6 = user ipv6 only
[port] = The port on which the daemon is running (default=5666)
[timeout] = Number of seconds before connection times out (default=10)
[command] = The name of the command that the remote daemon should run
[arglist] = Optional arguments that should be passed to the command. Multiple
arguments should be separated by a space. If provided, this must be
the last option supplied on the command line.
\nNote:
This plugin requires that you have the NRPE daemon running on the remote host.
You must also have configured the daemon to associate a specific plugin command
with the [command] option you are specifying here. Upon receipt of the
[command] argument, the NRPE daemon will run the appropriate plugin command and
send the plugin output and return code back to *this* plugin. This allows you
to execute plugins on remote hosts and 'fake' the results to make Nagios think
the plugin is being run locally.
\n
This may be long overdue, but I had to craft a response.
@AlainCollins commented:
..how is the check_nrpe command defined?
define command{
command_name check_nrpe
command_line /usr/lib64/nagios/plugins/check_nrpe -H $HOSTADDRESS$ -c $ARG1$ -a $ARG2$
}
Above is the basic check_nrpe command. The issue you are having here is that you are trying to run defined commands from nrpe.cfg that require no arguments. When you define a command the $ARG2$ in the NRPE command definition above is where '-a' is getting its value. So if you are supplying the first argument '-c' as the command check_disk it is not getting a value for $ARG2$.
To solve this you have 2 options:
1) Add a placeholder "!" in the Disk Space check_command definition after the command argument:
define service{
use generic-service
host_name 192.168.160.10, 192.168.160.11, 192.168.160.12
service_description Disk Space
notification_options w,u,c,r
check_command check_nrpe!check_disk!
}
2) Use the "check_nrpe_1arg" command supplied in /etc/nagios-plugins/config/check_nrpe.cfg - this command is designed for plugins that require no arguments and can be used the same as the regular check_nrpe:
define command{
command_name check_nrpe_1arg
command_line /usr/lib64/nagios/plugins/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
}