En una entrada anterior explicaba como instalar Nagios y configurarlo un poco para que nos funcionara bien:
Bien, ahora toca explicar como instalar un addon que nos puede resultar muy útil:
NRPE - Nagios Remote Plugin Executor
La idea de este Addon es poder ejecutar en modo local una gran cantidad de complementos de un modo cliente-servidor.
De esta manera, teniendo un puerto abierto, desde nuestro Nagios podremos conectar a donde tengamos el nrpe y ejecutar localmente scripts. Por ejemplo, imaginemos que no deseamos tener el puerto 80 (http) abierto a la red que tiene nuestro nagios, pero en cambio queremos ver si el servicio esta funcionando bien. Pues lo que hacemos es comectar con el check_nrpe al servidor NRPE, y desde alli hacer el check_http. Otro uso corriente es el de ver el espacio libre en disco, que por obligación es un script que ha de funcionar en la máquina que queremos monitorizar.
Así que vamos a instalarlo. Tenemos dos modos de hacerlo:
- Via repositorios de Ubuntu
- Via tar ball.
Yo suelo ser bastante defensor de instalar las cosas con los paquetes oficiales de ubuntu, pero en este caso me declino un poco más por el tar ball. ¿Por que? Porque si lo hago via repositorio de Ubuntu:
apt-get install nagios-nrpe-server
Leyendo lista de paquetes... Hecho
Creando árbol de dependencias
Leyendo la información de estado... Hecho
Los paquetes indicados a continuación se instalaron de forma automática y ya no son necesarios.
linux-headers-3.2.0-23-generic linux-headers-3.2.0-26-generic linux-headers-3.2.0-23 linux-headers-3.2.0-24 linux-headers-3.2.0-26 linux-headers-3.2.0-24-generic
Utilice «apt-get autoremove» para eliminarlos.
Se instalarán los siguientes paquetes extras:
libmysqlclient18 libnet-snmp-perl libpq5 libradius1 libsensors4 libsnmp-base libsnmp15 mysql-common nagios-plugins nagios-plugins-basic nagios-plugins-standard snmp whois
Paquetes sugeridos:
libcrypt-des-perl libdigest-hmac-perl libio-socket-inet6-perl lm-sensors snmp-mibs-downloader nagios3
Se instalarán los siguientes paquetes NUEVOS:
libmysqlclient18 libnet-snmp-perl libpq5 libradius1 libsensors4 libsnmp-base libsnmp15 mysql-common nagios-nrpe-server nagios-plugins nagios-plugins-basic nagios-plugins-standard snmp whois
0 actualizados, 14 se instalarán, 0 para eliminar y 17 no actualizados.
Necesito descargar 4.152 kB de archivos.
Se utilizarán 12,8 MB de espacio de disco adicional después de esta operación.
¿Desea continuar [S/n]? n
Abortado.
Me instalará un montón de
librerías que no son necesarias para lo que, de inicio, quiero hacer. Así que voy a centrarme en como instalar
NRPE mediante el tar ball:
wget http://prdownloads.sourceforge.net/sourceforge/nagios/nrpe-2.13.tar.gz
--2013-01-15 17:24:38-- http://prdownloads.sourceforge.net/sourceforge/nagios/nrpe-2.13.tar.gz
Resolving prdownloads.sourceforge.net (prdownloads.sourceforge.net)... 216.34.181.59
Connecting to prdownloads.sourceforge.net (prdownloads.sourceforge.net)|216.34.181.59|:80... connected.
HTTP request sent, awaiting response... 301 Moved Permanently
Location: http://downloads.sourceforge.net/project/nagios/nrpe-2.x/nrpe-2.13/nrpe-2.13.tar.gz [following]
--2013-01-15 17:24:39-- http://downloads.sourceforge.net/project/nagios/nrpe-2.x/nrpe-2.13/nrpe-2.13.tar.gz
Resolving downloads.sourceforge.net (downloads.sourceforge.net)... 216.34.181.59
Reusing existing connection to prdownloads.sourceforge.net:80.
HTTP request sent, awaiting response... 302 Found
Location: http://switch.dl.sourceforge.net/project/nagios/nrpe-2.x/nrpe-2.13/nrpe-2.13.tar.gz [following]
--2013-01-15 17:24:39-- http://switch.dl.sourceforge.net/project/nagios/nrpe-2.x/nrpe-2.13/nrpe-2.13.tar.gz
Resolving switch.dl.sourceforge.net (switch.dl.sourceforge.net)... 2001:620:0:1b::21, 130.59.138.21
Connecting to switch.dl.sourceforge.net (switch.dl.sourceforge.net)|2001:620:0:1b::21|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 411768 (402K) [application/x-gzip]
Saving to: `nrpe-2.13.tar.gz'
100%[========================================================>] 411.768 1,09M/s in 0,4s
2013-01-15 17:24:40 (1,09 MB/s) - `nrpe-2.13.tar.gz' saved [411768/411768]
También descargamos los
Nagios Plugins:
wget http://downloads.sourceforge.net/project/nagiosplug/nagiosplug/1.4.16/nagios-plugins-1.4.16.tar.gz
--2013-01-16 13:04:29-- http://downloads.sourceforge.net/project/nagiosplug/nagiosplug/1.4.16/nagios-plugins-1.4.16.tar.gz
Resolving downloads.sourceforge.net (downloads.sourceforge.net)... 216.34.181.59
Connecting to downloads.sourceforge.net (downloads.sourceforge.net)|216.34.181.59|:80... connected.
HTTP request sent, awaiting response... 302 Found
Location: http://freefr.dl.sourceforge.net/project/nagiosplug/nagiosplug/1.4.16/nagios-plugins-1.4.16.tar.gz [following]
--2013-01-16 13:04:30-- http://freefr.dl.sourceforge.net/project/nagiosplug/nagiosplug/1.4.16/nagios-plugins-1.4.16.tar.gz
Resolving freefr.dl.sourceforge.net (freefr.dl.sourceforge.net)... 2001:1b48:10f::7, 158.255.96.7
Connecting to freefr.dl.sourceforge.net (freefr.dl.sourceforge.net)|2001:1b48:10f::7|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 2087089 (2,0M) [application/x-gzip]
Saving to: `nagios-plugins-1.4.16.tar.gz'
100%[===========================================================>] 2.087.089 317K/s in 4,8s
2013-01-16 13:04:36 (421 KB/s) - `nagios-plugins-1.4.16.tar.gz' saved [2087089/2087089]
Vale, ya tenemos los archivos tar.gz. Ahora los descomprimimos como de costumbre:
tar xzf nrpe-2.13.tar.gz
tar xzf nagios-plugins-1.4.16.tar.gz
Y ahora procedemos a entrar en las carpetas creadas. En mi caso
nrpe-2.13 y
nagios-plugins-1.4.16
Dentro de la carpeta ./nrpe-2.13/docs podréis encontrar un archivo de libreoffice y otro PDF con las instrucciones detalladas. Básicamente:
Nagios Plugins
apt-get install build-essential
/usr/sbin/useradd -m -s /bin/bash nagios
passwd nagios
/usr/sbin/groupadd nagios
/usr/sbin/usermod -G nagios nagios
./configure --with-nagios-user=nagios --with-nagios-group=nagios --with-openssl=/usr/bin/openssl --enable-perl-modules
make
make all
make install
chown nagios.nagios /usr/local/nagios
chown -R nagios.nagios /usr/local/nagios/libexec
NRPE
apt-get install xinetd
Podríamos intentar hacer ./configure directamente pero pudiera ser que nos diera un error tipo:
checking for SSL libraries... configure: error: Cannot find ssl libraries
Así pues, miremos donde tenemos las librerias ssl y se las especificaremos en el ./configure:
apt-file search libssl | grep libssl-dev
libssl-dev: /usr/lib/x86_64-linux-gnu/libssl.a
libssl-dev: /usr/lib/x86_64-linux-gnu/libssl.so
libssl-dev: /usr/lib/x86_64-linux-gnu/pkgconfig/libssl.pc
libssl-dev: /usr/share/doc/libssl-dev/changelog.Debian.gz
libssl-dev: /usr/share/doc/libssl-dev/changelog.gz
libssl-dev: /usr/share/doc/libssl-dev/copyright
En mi caso:
./configure --with-ssl=/usr/bin/openssl --with-ssl-lib=/usr/lib/x86_64-linux-gnu/
(...)
*** Configuration summary for nrpe 2.13 11-11-2011 ***:
General Options:
-------------------------
NRPE port: 5666
NRPE user: nagios
NRPE group: nagios
Nagios user: nagios
Nagios group: nagios
Review the options above for accuracy. If they look okay,
type 'make all' to compile the NRPE daemon and client.
make all
(...)
*** Compile finished ***
If the NRPE daemon and client compiled without any errors, you
can continue with the installation or upgrade process.
make install
make install-daemon-config
make install-xinetd
Seguramente querremos añadir alguna IP de servidor Nagios que pueda acceder mediante la edición de
/etc/xinetd.d/nrpe
only_from = 127.0.0.1
Luego reiniciamos xinetd
service xinetd restartxinetd stop/waiting
xinetd start/running, process 9223
Y comprobamos que haya arrancado:
netstat -puta | grep LISTEN
tcp 0 0 *:nrpe *:* LISTEN 9223/xinetd
Con esto deberíamos tener acceso a nrpe desde un servidor externo nagios con la IP que hemos puesto en /etc/xinetd.d/nrpe .