Uso NRPE en Centreon.

En el artículo anterior vimos el uso de plugins y como agregar equipo a Centreon y si recuerdan todos usan el protocolo SNMP para su ejecución, pero no todo es posible mediante SNMP y podemos ver otras formas de comprobar servicios.Veamos entonces que es NRPE.

NRPE(Nagios Remote Plugin Executor) es un pequeño demonio te permite ejecutar plugins locales en equipos remotos. El plugin check_nrpe es llamado por Centreon y este hace las peticiones de los plugins en el equipo remoto. Esto requiere que NRPE este siendo ejecutado en ese equipo como un standalone daemon o como un servicio en inetd. También soporta encriptación nativa de SSL/TLS. Existe la versión para Windows de NRPE que permitirá hacer lo mismo.
Después de esta breve descripción de que es NRPE explicaré como instalarlo y configurarlo. En el servidor Centreon no hace falta montar NRPE solo en los host remotos.

aptitude install nagios-nrpe-server nagios-nrpe-plugin

Después de haber instalado el NRPE procederemos a editar su fichero de configuración.

nano /etc/nagios/nrpe.cfg

Buscamos la linea allowed_hosts y ponemos el hostmane o la ip de nuestro servidor centreon:

# ALLOWED HOST ADDRESSES
# This is an optional comma-delimited list of IP address or hostnames
# that are allowed to talk to the NRPE daemon.
#
# Note: The daemon only does rudimentary checking of the client's IP
# address. I would highly recommend adding entries in your /etc/hosts.allow
# file to allow only the specified host to connect to the port
# you are running this daemon on.
#
# NOTE: This option is ignored if NRPE is running under either inetd or xinetd

allowed_hosts=192.168.1.75

Ahora casi al final de este fichero vienen ejemplos que pudiéramos usar por defecto:

# The following examples use hardcoded command arguments...

command[check_users]=/usr/lib/nagios/plugins/check_users -w 5 -c 10
command[check_load]=/usr/lib/nagios/plugins/check_load -w 15,10,5 -c 30,25,20
command[check_hda1]=/usr/lib/nagios/plugins/check_disk -w 20% -c 10% -p /dev/hda1
command[check_zombie_procs]=/usr/lib/nagios/plugins/check_procs -w 5 -c 10 -s Z
command[check_total_procs]=/usr/lib/nagios/plugins/check_procs -w 520 -c 600

Nota: Cada vez que hagamos un cambio en nuestro fichero de configuración es necesario reiniciar el servicio nrpe y sería de la siguiente forma

/etc/init.d/nagios-nrpe-server restart

Siempre se empieza con la palabra command y entre corchetes el nombre que quieras asignarle a dicho comando y después del signo = el camino donde esta el comando localmente que va a ser /usr/lib/nagios/plugins y después el nombre del comando con las opciones del mismo. Por ejemplo check_users con sus parametros (recuerden que pueden hacer uso de la opcion -h para ver las opciones del comando).
command[check_users]=/usr/lib/nagios/plugins/check_users -w 5 -c 10

En nuestro servidor centreon haríamos el resto. Centreon no trae este plugin, tampoco no viene en los históricos por lo que nos descargaremos el fuente del mismo y lo compilaremos.

cd /usr/src/
git clone https://github.com/NagiosEnterprises/nrpe
cd nrpe/
./configure
make all
cp src/check_nrpe /usr/lib/nagios/plugins/

Con la opción -h como en todos obtenemos la ayuda como en todos los plugins.

cd /usr/lib/nagios/plugins
./check_nrpe -h

NRPE Plugin for Nagios
Copyright (c) 1999-2008 Ethan Galstad ([email protected])
Version: 3.0.1
Last Modified: 09-08-2016
License: GPL v2 with exemptions (-l for more info)
SSL/TLS Available: OpenSSL 0.9.6 or higher required

Usage: check_nrpe -H  [-2] [-4] [-6] [-n] [-u] [-V] [-l] [-d ]
       [-P ] [-S ]  [-L ] [-C ]
       [-K ] [-A ] [-s ] [-b ]
       [-f ] [-p ] [-t :]
       [-c ] [-a ]

Options:
        = The address of the host running the NRPE daemon
 -2           = Only use Version 2 packets, not Version 3
 -4           = bind to ipv4 only
 -6           = bind to ipv6 only
 -n           = Do no use SSL
 -u           = (DEPRECATED) Make timeouts return UNKNOWN instead of CRITICAL
 -V           = Show version
 -l           = Show license
       = Anonymous Diffie Hellman use:
                0 = Don't use Anonymous Diffie Hellman
                    (This will be the default in a future release.)
                1 = Allow Anonymous Diffie Hellman (default)
                2 = Force Anonymous Diffie Hellman
        = Specify non-default payload size for NSClient++
     = The SSL/TLS version to use. Can be any one of: SSLv2 (only),
                SSLv2+ (or above), SSLv3 (only), SSLv3+ (or above),
                TLSv1 (only), TLSv1+ (or above DEFAULT), TLSv1.1 (only),
                TLSv1.1+ (or above), TLSv1.2 (only), TLSv1.2+ (or above)
  = The list of SSL ciphers to use (currently defaults
                to "ALL:!MD5:@STRENGTH". WILL change in a future release.)
  = The client certificate to use for PKI
         = The private key to use with the client certificate
     = The CA certificate to use for PKI
     = SSL Logging Options
    = bind to local address
    = configuration file to use
 [port]       = The port on which the daemon is running (default=5666)
 [command]    = The name of the command that the remote daemon should run
 [arglist]    = Optional arguments that should be passed to the command,
                separated by a space.  If provided, this must be the last
                option supplied on the command line.

 NEW TIMEOUT SYNTAX
 -t :
     = Number of seconds before connection times out (default=10)
     = Check state to exit with in the event of a timeout (default=CRITICAL)
    Timeout state must be a valid state name (case-insensitive) or integer:
    (OK, WARNING, CRITICAL, UNKNOWN) or integer (0-3)

Note:
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. 

Vamos a comprobar el funcionamiento del plugin. Usaremos el comando definido en el equipo remoto check_users.

./check_nrpe -H 192.168.1.10 -c check_users
USERS OK - 0 users currently logged in |users=0;5;10;0

Viendo que funciona correctamente procederemos a agregar el comando en la web de Centreon. Vamos a Configuration/Commands y lo agregamos si no esta definido. Lo nombraremos de igual forma que el plugin.

Posterior a esto agregaremos este servicio al los equipos agregando el servicio. Por ejemplo:

Exportamos la configuración.


Filtramos el servicio en Monitoring/Status Details/Services y veremos que se ejecuto el plugin correctamente.

Espero les sirva este artículo para el monitoreo de su red.

2 Comments

  1. Usando Firefox 51.0 Firefox 51.0 en Ubuntu x64 Ubuntu x64

    Cuando ejecuto:
    /check_nrpe -H 10.10.10.1 -c check_users
    connect to address 10.10.10.1 port 5666: Connection refused
    connect to host 10.10.10.1 port 5666: Connection refused
    como se arregla esto ???

    • Usando Firefox 52.0 Firefox 52.0 en Windows 10 x64 Edition Windows 10 x64 Edition

      Amigo lee bien el artículo el NRPE solo se instala en los equipos remotos y no en el centreon. En el centreon solo se instala el plugin para mandar a ejecutar plugins de manera remota. Saludos.

1 Trackback / Pingback

  1. Uso de Plugins y como agregar equipo a Centreon. | | Sysadmins de cuba

Dejar una contestacion

Tu dirección de correo electrónico no será publicada.


*