Configurar cliente GNU/Linux con NRPE para comprobar desde Nagios

Posted by David Guillermo on Thursday, March 29, 2012

Buenas tardes.

Pido una vez más disculpas por volver a descuidar el blog, pero la falta de tiempo se lo lleva todo. Esta semana me he puesto actualizar y reconfigurar cosas en uno de los servidores, y me di cuenta de que no estaba chequando los demonios bien y mucho menos los espacios. Así que me puse a ello y me tope con algunos problemas que me gustaría comentar, para así evitar que les pase lo mismo y vaya más fluido todo.

Lo primero que tenemos que hacer es descargar de la web oficial de Nagios los plugins, para meterlos en el servidor GNU/Linux que queremos chequear. PS: Para los usuarios de debian es necesario tener instalado el paquete libssl-dev PS2 : Esto se ha configurado sobre Debian squeeze/etch y Gentoo.

$ wget http://prdownloads.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.15.tar.gz
$ tar zxvf nagios-plugins-1.4.15.tar.gz && cd nagios-plugins-1.4.15
$ useradd -p nagios nagios
$ ./configure --with-nagios-user=nagios --with-nagios-group=nagios --enable-ssl --libexecdir=/usr/local/nagios/libexec --bindir=/usr/local/nagios/bin/
$ make all
$ make install
$ wget http://prdownloads.sourceforge.net/sourceforge/nagios/nrpe-2.13.tar.gz
$ tar zxvf nrpe-2.13.tar.gz ; cd nrpe-2.13
$ ./configure --with-nagios-user=nagios --with-nagios-group=nagios --enable-ssl --prefix=/usr/local/nagios/ --sysconfdir=/usr/local/nagios/etc  --bindir=/usr/local/nagios/bin
$ make all
$ make install{,-plugin,-daemon,-daemon-config}

Bien después de instalar estos paquetes, solo nos queda configurar el demonio y sus respectivos comandos, para poder llamarlo desde el servidor nagios y comprobar lo que nos haga falta. vamos a ello. Yo me encontré con un problema en Debian Etch (ya lo sé, se que me van a decir que está deprecated PERO, lo que está de cara al aexterior está actualizado). y es que si no le digo que el pid lo ponga en /var/run/nrpe/ me da un problema de permiso denegado, pq no se puede lanzar como root, evidentemente.

entonces hay que modificar en /usr/local/nagios/etc/nrpe.cfg lo siguiente:

  pid_file=/var/run/nrpe.pid
  por
  pid_file=/var/run/nrpe/nrpe.pid
  Descomentar
  #server_address 
  por
  server_address=IP
  Añadir IP de los equipos permitidos:
  allowed_hosts=127.0.0.1,192.x.x.x,10.x.x.x

Salvamos y creamos la carpeta. Descomentamos al final del archivo todos los “commands” y añadimos lo que nos interesa.

$ mkdir /var/run/nrpe ; chown nagios:nagios /var/run/nrpe/$ echo "nrpe 5666/tcp #NRPE" >> /etc/services

Editamos el /etc/host.allow para permitir a los equipos que queremos.

ALL: IP

Copiamos y modificamos el script de inicio para el demonio…

$ cp init-script.debian /etc/init.d/nrpe ; chmod +x /etc/init.d/nrpe

Una vez hecho esto, podemos lanzar el demonio y comprobar que está corriendo…

$ /etc/init.d/nrpe start ; netstat -l| grep nrpetcp        0      0 10.68.30.223:nrpe       *:*                     LISTEN     

Sí obtenemos esa respuesta, es lo que deseamos tenemos corriendo el servicio. Ahora comprobamos desde el servidor, que podemos hablar con él

$ /usr/lib64/nagios/plugins/check_nrpe -H 10.68.30.223
NRPE v2.13

Perfecto, todo va viento en popa, configurado y corriendo, ahora ajustamos los parámetros que queremos chequear, ya sean procesos, carga de CPU y disco duro.

$ /usr/lib64/nagios/plugins/check_nrpe -H IP -c check_total_procs
PROCS OK: 75 processes

Configurado, solo nos queda añadir el servicio en nagios y el servidor correspondiente, que sería algo así

define service{
        use                   generic-service
        host_name             Dozer
        service_description   Total Processes
        check_command         check_nrpe!check_total_procs
        }
$ /etc/init.d/nagios reload

Esperamos que lea y cargue los demonios pendientes por chequear y desde de este momento dejaremos de dormir en paz, como lo veníamos haciendo hasta ahora. Gracias a la felicidad que sólo puede proporcionar la ignorancia.