Manual instalación NRPE Cliente en Debian, Ubuntu.

by ricard
357 views

Introducción
Hoy vamos a instalar en una VM con Debian Squeeze  la instalación y configuración del addon NRPE (Nagios Remote Plugin Executor) Como bien indica su nombre permite que Nagios ejecute plugins en equipos remotos, en principio host Linux, aunque existe una versión para Windows que veremos en otro momento.

El addon NRPE consta de dos partes:

  1. NRPE
    Es la parte del paquete que se ejecuta en el host remoto, encargado de procesar los requerimientos de la otra parte del paquete, el plugin check_nrpe que se ejecuta en el servidor Nagios. NRPE recibe el pedido de ejecución desde el check_nrpe, ejecuta la sentencia asociada al pedido recibido y devuelve la salida de la ejecución al plugin.

  2. check_nrpe (PLUGINS)
    Es el plugin que corre en el server que ejecuta Nagios y que se comunica con el NRPE instalado en los hosts remotos. El plugin usa la salida de la ejecución remota y el return code para mostrar el estado del host remoto en la interfaz del Nagios.
Seguridad
El punto clave es la comunicación entre el plugin y el host remoto, NRPE nativamente soporta SSL, teóricamente de forma opcional.  Por lo que he podido ver por internet recomiendan correr el daemon sobre Xinetd ( por su facilidad) o sobre Inetd. En este manual nos vamos a basar en la opción Xinetd.

 Seguramente los que tengan conocimiento del plugin check_by_ssh (permite la ejecución remota de plugins a través de SSH) se preguntarán para que usar NRPE si SSH es más seguro. La razón es de performance, el uso de SSH genera bastante carga de CPU, tanto en el host remoto como en el servidor. Esto no es un tema menor cuando tenemos que monitorear cientos de host.

Instalación en el Host Remoto CLIENTE.  
1.  Iniciamos un Shell con permisos root.
Introducimos el siguiente comando SU tecla enter y introducimos nuestra contraseña del usuario root.
user@zimbra6:~$ su
Password:@zimbra6:/#su INTRODUCIR LA CONTRASEÑA DE root
        Ahora tenemos un Terminal con permisos ROOT
2.  Creación de usuario
Tenemos que crear en el host remoto un usuario sin privilegios para la ejecución del NRPE:
      root@zimbra6:/# adduser nagios
Una vez tenemos creado nuestro usuario nagios es recomendable evitar que este usuario pueda acceder a nuestro escritorio. Recomiendo buscar en Google cual es el método para deshabilitar el acceso al escritorio a los usuarios. 
3.   Instalamos una de las librerías necesarias para no tener problemas durante la compilación del NRPE:
root@zimbra6:/# apt-get install libcurl3-openssl-dev
4.  Instalación de nrpe:

Deben bajar la última versión del pluggin NRPE este es el enlace más reciente que hay a día de hoy:

http://prdownloads.sourceforge.net/sourceforge/nagios/nrpe-2.12.tar.gz

Si el siguiente enlace no funciona aquí está la pagina principal de Nagios:

http://www.nagios.org

5.  Una vez descargado el archivo lo descomprimimos dentro de nuestra carpeta Descargas.

tar xzf nrpe-2.12.tar.gz /home/user/Downloads
root@zimbra6:/# cd /home/user/Downloads/nrpe-2.12/

1.   
2.   
3.   
4.   
5.   
6.  Le damos permiso al usuario que creamos sobre los directorios correspondientes:
chown nagios.nagios /usr/local/nagios
chown -R nagios.nagios /usr/local/nagios/libexec

7.  Dentro del directorio donde descomprimimos los sources ejecutamos:
./configure
make all
make install-plugin
make install-daemon
make install-daemon-config
make install-xinetd (este paso es opcional pero recomendable y solo funcionara en caso que este instalado Xinetd en nuestro servidor.)
Nota: Si durante el proceso de compilación recibiremos el siguiente error:
checking for SSL headers… configure: error: Cannot find ssl headers

 Instalando la librería mencionada en el punto 3 solucionará el error.

8.  Xinetd :

Vamos a editar el archivo /etc/services y agregamos la siguiente opción:
nrpe 5666/tcp # NRPE
Xinetd:
Si utilizamos xinetd, debemos tener el siguiente archivo: /etc/xinetd.d/nrpe
Nota: si no existe en el directorio /etc/xinet.d/ ningún archivo nrpe nos hemos olvidado de lanzar el último comando make install-xinetd

Este es el contenido de mi archivo /etc/xinet.d/nrpe


default: on
# description: NRPE (Nagios Remote Plugin Executor)
service nrpe
{
        flags           = REUSE
        socket_type     = stream
        port            = 5666 (por defecto este es el Puerto)
        wait            = no
        user            = nagios (Usuario que hemos creado al principio)
        group           = nagios (Grupo que hemos creado al principio)
        server          = /usr/local/nagios/bin/nrpe
        server_args     = -c /usr/local/nagios/etc/nrpe.cfg –inetd
        log_on_failure  += USERID
        disable         = no
        only_from       = 127.0.0.1
     
Hay una sección muy importante y es la sección only_form es donde deberemos indicar que IP es donde vamos a hacer las consultas, por defecto será nuestra IP Externa o se el control es en local nuestra IP local del SEVIDOR de Nagios.)
Editamos los archivos /etc/hosts.allow y /etc/hosts.deny para utilizar TCP wrapper en el NRPE.
  GNU nano 2.2.4            File: /etc/hosts.allow                             
# /etc/hosts.allow: list of hosts that are allowed to access the system.
#                   See the manual pages hosts_access(5) and hosts_options(5).
#
# Example:    ALL: LOCAL @some_netgroup
#                    ALL: .foobar.edu EXCEPT terminalserver.foobar.edu
#
# If you’re going to protect the portmapper use the name “portmap” for the
# daemon name. Remember that you can only use the keyword “ALL” and IP
# addresses (NOT host or domain names) for the portmapper, as well as for
# rpc.mountd (the NFS mount daemon). See portmap(8) and rpc.mountd(8)
# for further information.
#
ALL: 127.0.0.1
ALL: 10.0.0.0/24

9.  Chequeo local
Ejecutando netstat -at | grep nrpe debemos ver el daemon NRPE escuchando en el puerto correspondiente.
Este es el resultado del comando
root@zimbra6:/# netstat -at | grep nrpe
tcp        0      0 *:nrpe                  *:*                     LISTEN    
root@zimbra6:/
Si recibimos este mensaje todo funciona correctamente.
Ahora vamos a verificar que verdaderamente funciona el servicio. Desde la consola vamos a lanzar el siguiente comando:
root@zimbra6:/# /usr/local/nagios/libexec/check_nrpe -H 127.0.0.1
Si recibimos el siguiente error:
CHECK_NRPE: Error – Could not complete SSL handshake.
Significa que no puede conectar con el servicio por un error en la seguridad en nuestra configuración Xinetd (/etc/xinetd.d/nrpe) de nuestro Servidor.
Si editamos nuestro archivo veremos que en la última línea tenemos la opción:
only_from= NuestraIP1 NuestraIP2
En sección tenemos que poner todas aquellas IP desde las cuales vamos a controlar con nuestra Servidor Nagios. Esta es mi configuración:
only_from= 80.x.x.x 127.0.0.1 10.0.x.x
Guardamos los cambios y recargamos nuestro Xinetd
root@zimbra6:/# /etc/init.d/xinetd reload
Listo volvemos a lanzar el comando anterior:
root@zimbra6:/# /usr/local/nagios/libexec/check_nrpe -H localhost
NRPE v2.12   Funciona correctamente.


Con todo esto tenemos instalado y configurado el NRPE en nuestro cliente pero con un solo plugin check_nrpe (devuelve la versión del NRPE del cliente)
Si necesitamos instalar mas scripts para controlar otras funciones podemos instalar  un paquete que hay preparado con los scripts básicos. También podemos añadir scripts manualmente copiando los archivos a la carpeta /usr/local/nagios/libexec. Todos los scripts han de poder ejecutar-se con el usuario creado al principio en nuestro caso NAGIOS.
Vamos a empezar con la instalación de los plugins:
1.  Descargar los plugins de la página oficial:
http://www.nagios.org/download/plugins/

Descarga de los plugins:

http://prdownloads.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.15.tar.gz

2.  Descomprimir el archivo Nagios-plugins-1.415.tar.gz en nuestra carpeta Downloads.
tar xvzf nagios-plugins-1.4.15
cd Nagios-plugins-1.415/
3.  Ahora vamos a configurar los plugins indicando la ruta de instalación de Nagios con el siguiente comando:
./configure –prefix= Ruta de acceso ( /usr/local/nagios/ )

Al finalizar la configuración sin ningún error compilaremos nuestros plugins de la siguiente forma:
make
make install
Con esto ya estarán los plugins instalados. Pero si hemos lanzado estos comandos sin ser el usuario root podemos lanzar el siguiente comando:
make install-root
Hasta aquí el manual de instalación de NRPE en vuestro cliente, espero que todo funcione correctamente y sin problemas.

Leave a Comment

* By using this form you agree with the storage and handling of your data by this website.

Este sitio web utiliza cookies para mejorar tu experiencia. Asumiremos que estás de acuerdo con esto, pero puedes optar por no participar si lo deseas. Aceptar Leer Más

Privacy & Cookies Policy