Ejecutar plugins de nagios en equipos remotos

Ejecutar plugins de nagios en equipos remotos

[toc]

Introducción

En ocasiones queremos monitorizar diferentes parámetros de un servidor remoto de el que tenemos instalado Nagios. Para recuperar esta información necesitamos de una manera en la que el Nagios pueda solicitarla al servidor remoto y este se la diga. Para ello disponemos de Nrpe, que es un servicio que instalado en la máquina remota, ejecuta plugins de Nagios y devuelve el resultado a quien se lo solicite. A continuación vamos a ver que tenemos que hacer para usarlo.

Instalar Nrpe

Lo primero que tenemos que hacer es instalamos el servidor nrpe en la máquina remota. Para ello tendremos que instalar el paquete de nombre nagios-nrpe-server con nuestro gestor de paquetes favoritos o ejecutando la siguiente orden:

>> sudo apt-get install nagios-nrpe-server

Si en esa máquina disponemos de un cortafuegos, tendremos que abrir el puerto en el que escucha nrpe (por defecto 5666) y que se encuentra en el fichero /etc/nagios/nrpe.cfg indicado en el parámetro server_port:

server_port=5666

Otra de las cosas que tenemos que tener en cuenta es indicarle las direcciones ip que podrán solicitarle información. Para ello tendremos que editar el fichero /etc/nagios/nrpe.cfg y cambiar la línea que pone allowed_hosts para poner la ip de nuestro servidor con nagios. Por ejemplo así:

allowed_hosts=152.145.125.145

Ahora podremos instalar cualquier plugin de Nagios y declarar el comando que le ejecute. Para ello tendremos que añadir al final del fichero /etc/nagios/nrpe.cfg una línea por cada plugin con el siguiente formato:

command[NOMBRE_COMANDO]=COMANDO

Por ejemplo:

command[check_users]=/usr/lib/nagios/plugins/check_users -w 5 -c 10

Configurar Nagios

En la máquina del servidor de Nagios tenemos que instalar un plugin que será el encargado de pedirle la información a un servidor remoto con nrep. Para ello instalaremos el paquete de nombre nagios-nrpe-plugin a través de nuestro gestor de paquetes favoritos o con el siguiente comando:

>> sudo apt-get install nagios-nrpe-plugin

Los parámetros que soporta el plugin son los siguientes:

>> /usr/lib/nagios/plugins/check_nrpe --help
 
Usage: check_nrpe -H <host> [-n] [-u] [-p <port>] [-t <timeout>] [-c <command>] [-a <arglist...>]
 
Options:
 -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
 [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.
 -h,--help    Print this short help.
 -l,--license Print licensing information.
 -n,--no-ssl  Do not initial an ssl handshake with the server, talk in plaintext.

Para probar si funciona, por ejemplo para ejecutar remotamente un comando de nombre check_users en un servidor remoto de ip 145.124.124.125 con nrpe instalado, tendremos que ejecutar el siguiente comando:

>> /usr/lib/nagios/plugins/check_nrpe -H 145.124.124.125 -u -c check_users

Los comandos de nagios que el plugin nrpe define están en este fichero /etc/nagios-plugins/config/check_nrpe.cfg y un ejemplo de uso sería la definición del siguiente servicio de nagios:

define service {
        hostgroup_name                remote_linux
        service_description           Users - Usuarios
        check_command                 check_nrpe_1arg!check_users
        use                           generic-service
}

Problemas

Problema

Puede darse el caso de que al intentar ejecutar un plugin en un equipo remoto, nos de el siguiente error:

>> /usr/lib/nagios/plugins/check_nrpe -H 145.124.124.125 -u -c check_users
CHECK_NRPE: Error - Could not complete SSL handshake

Solución

El problema puede ser debido a que no hemos indicado la ip del servidor de nagios en el fichero de configuración del servidor de nrpe en el equipo remoto. Por lo que tendremos que ponerla como se indica en el apartado de instalación del nrpe .

Comentarios

hola quisiera configurar en el cliente la linea de comando de los plugins smtp, imap como serian los argumentos a utilizar, gracias.
comando[check_imap]= / Usr / lib / nagios / plugins / check_imap
muy buen tutorial, saludos

Hola Bernardo,

En esta página puedes ver los argumentos que admite el comando check_imap https://www.monitoring-plugins.org/doc/man/check_imap.html

Saludos

Añadir nuevo comentario