Explicaré como monitorear un servidor remoto Linux y varios servicios corriendo en el servidor.
I. Panorama
II. 6 pasos para instalar el plugin de Nagios y NRPE en el servidor remoto.
- Descargue el Plugin de Nagios y el Addon NRPE
- Crear la cuenta nagios
- Instalar el Plugin de Nagios
- Instalar NRPE
- Configurar NRPE para ejecutarlo como un demonio (daemon)
- Modificar el archivo /usr/local/nagios/etc/nrpe.cfg
III. 4 pasos para en el Servidor Nagios para monitorear el servidor remoto Linux:
- Descargar el Addon NRPE
- Instalar check_nrpe
- Crear la definición de host y service, para el host remoto
- Reiniciar el servicio nagios
I. Panorama:
Siguiendo estos pasos, pasara a un alto nivel cuando Nagios monitoree un servicio (por ej. espacio en disco) en el servidor remoto Linux. Nagios ejecutara el comando check_nrpe en el servidor nagios y requerirá monitorear el espacio en disco en el servidor remoto usando el comando check_disk.
El check_nrpe en el servidor nagios contactara el demonio NRPE en el servidor remoto Linux y requerirá ejecutar check_disk en el servidor remoto Linux. Los resultados el comando check_disk serán retornados por el demonio NRPE al comando check_nrpe en el servidor nagios.
Siguiendo el siguiente flujo resumido, ver mas abajo la explicación:
Servidor Nagios (check_nrpe) —–> Host Remoto (NRPE deamon) —–> check_disk
Servidor Nagios Server (check_nrpe) <—– Host Remoto (NRPE deamon) <—– check_disk (retorna el uso del espacio en disco)
II. 6 pasos para instalar el plugin de Nagios y NRPE en el host remoto
1. Descargue el Plugin de Nagios y el Addon NRPE
Descargue los siguientes archivos desde nagios.org y muévalo a /home/downloads:
nagios-plugins-1.4.11.tar.gz
nrpe-2.12.tar.gz
2. Crear la cuenta nagios
[hostremoto]# useradd nagios
[hostremoto]# passwd nagios
3. Instalar el Plugin de Nagios
[hostremoto]# cd /home/downloads
[hostremoto]# tar xvfz nagios-plugins-1.4.11.tar.gz
[hostremoto]# cd nagios-plugins-1.4.11
[hostremoto]# export LDFLAGS=-ldl
[hostremoto]# ./configure –with-nagios-user=nagios –with-nagios-group=nagios –enable-redhat-pthread-workaround
[hostremoto]# make
[hostremoto]# make install
[hostremoto]# chown nagios:nagios /usr/local/nagios
[hostremoto]# chown -R nagios:nagios /usr/local/nagios/libexec/
4. Instalar NRPE
[hostremoto]# cd /home/downloads
[hostremoto]# tar xvfz nrpe-2.12.tar.gz
[hostremoto]# cd nrpe-2.12
[hostremoto]# ./configure
[hostremoto]# make all
[hostremoto]# make install-plugin
[hostremoto]# make install-daemon
[hostremoto]# make install-daemon-config
[hostremoto]# make install-xinetd
5. Configurar NRPE para ejecutarlo como un demonio (daemon):
Modificar el archivo /etc/xinetd.d/nrpe para agregar la dirección IP del Servidor Nagios, cámbiela donde dice only_from. Note que hay un espacio después de 127.0.0.1 y la dirección ip del servidor nagios (en este ejemplo, la dirección ip del servidor nagios es: 192.168.1.2)
only_from = 127.0.0.1 192.168.1.2
Modificar el archivo /etc/services y agregue lo siguiente al final del archivo.
nrpe 5666/tcp # NRPE
Inicia el servicio
[hostremoto]#service xinetd restart
Verifique que el servicio NRPE esta escuchando
[hostremoto]# netstat -at | grep nrpe
tcp 0 0 *:nrpe *:* LISTEN
Verifique, para asegurarse que NRPE esta funcionando apropiadamente
[hostremoto]# /usr/local/nagios/libexec/check_nrpe -H localhost
NRPE v2.12
6. Modificar el archivo /usr/local/nagios/etc/nrpe.cfg
El archivo nrpe.cfg localizado en el servidor remoto contiene los comandos que se necesitan para chequear los servicios en el host remoto. Por defecto el archivo nrpe.cfg viene con unos cuantos comandos como ejemplo. check_users y check_load son mostrados mas abajo como un ejemplo.
command[check_users]=/usr/local/nagios/libexec/check_users -w 5 -c 10
command[check_load]=/usr/local/nagios/libexec/check_load -w 15,10,5 -c 30,25,20
En todos los comandos check, la opción “-w” es para especificar advertencia (“Warning”) y la opción “-c” es para especificar algo critico (“Critical”).
Por ejemplo, el comando de mas abajo check_disk, Si el espacio disponible en disco llega a un 20% o menos, nagios enviara un mensaje de advertencia.
Si llega a un 10% o menos, nagios enviara un mensaje critico. Cambie los valores de los parámetros “-c” y “-w” dependiendo de su entorno.
command[check_disk]=/usr/local/nagios/libexec/check_disk -w 20% -c 10% -p /dev/hda1
Nota: Usted puede ejecutar cualquiera de los comandos mostrados en el archivo nrpe.cfg en la linea de comando del host remoto y ver los resultados por usted mismo. Por ejemplo, Cuando ejecuto el comando check_disk en la linea de comandos, desplegó lo siguiente:
[hostremoto]#/usr/local/nagios/libexec/check_disk -w 20% -c 10% -p /dev/hda1
DISK CRITICAL – free space: / 6420 MB (10% inode=98%);| /=55032MB;51792;58266;0;64741
En el ejemplo anterior, desde que el espacio en disco sobre /dev/hda1 es solo un 10% , despliega un mensaje de CRITICAL, el cual sera retornado al servidor Nagios.
III. 4 pasos para la configuración en el Servidor Nagios para monitorear el host remoto:
1. Descargar el Addon NRPE
Descargue nrpe-2.12.tar.gz desde Nagios.org y muévalo a /home/downloads:
2. Instalar check_nrpe en el servidor nagios
[servidor-nagios]# tar xvfz nrpe-2.12.tar.gz
[servidor-nagios]# cd nrpe-2.1.2
[servidor-nagios]# ./configure
[servidor-nagios]# make all
[servidor-nagios]# make install-plugin
./configure le dará un resumen de la configuración como se muestra debajo:
*** Configuration summary for nrpe 2.12 05-31-2008 ***:
General Options:
————————-
NRPE port: 5666
NRPE user: nagios
NRPE group: nagios
Nagios user: nagios
Nagios group: nagios
Nota: Me salio el error “checking for SSL headers… configure: error: Cannot find ssl headers” mientras se ejecutaba ./configure. Instalar el paquete openssl-devel como se muestra debajo y luego ejecute nuevamente ./configure para asi corregir el problema.
[servidor-nagios]# rpm -ivh openssl-devel-0.9.7a-43.16.i386.rpm krb5-devel-1.3.4-47.i386.rpm zlib-devel-1.2.1.2-1.2.i386.rpm e2fsprogs-devel-1.35-12.5.el4.i386.rpm
warning: openssl-devel-0.9.7a-43.16.i386.rpm: V3 DSA signature: NOKEY, key ID db42a60e
Preparing… ########################################### [100%]
1:e2fsprogs-devel ########################################### [ 25%]
2:krb5-devel ########################################### [ 50%]
3:zlib-devel ########################################### [ 75%]
4:openssl-devel ########################################### [100%]
Verificamos que el servidor nagios pueda hablar con el hostremoto.
[servidor-nagios]#/usr/local/nagios/libexec/check_nrpe -H 192.168.1.3
NRPE v2.12
Nota: 192.168.1.3 es la dirección ip de hostremoto donde NRPE y los plugins de nagios fueron instalado, como se explico en la
sección II.
3. Crear la definición de host y service, para el host remoto
Crear un nuevo archivo de configuración /usr/local/nagios/etc/objects/hostremoto.cfg y defina el host y service para el hostremoto. Es bueno tomar el archivo localhost.cfg y copiarlo a hostremoto.cfg, y asi empezare modificarlo de acuerdo a sus necesidades.
Ejemplo de definición de host:
define host{
use linux-server
host_name hostremoto
alias Remote Host
address 192.168.1.3
contact_groups admins
}
ejemplo de definición de Service:
define service{
use generic-service
service_description Root Partition
contact_groups admins
check_command check_nrpe!check_disk
}
Nota: En todos los ejemplos anteriores, reemplace hostremoto con el nombre de su host que corresponde al nombre de su servidor remoto.
4. Reiniciar el servicio nagios
Reinicie el servidor nagios, como se muestra debajo e ingrese a la interfaz web de nagios (http://servidor-nagios/nagios/) para verificar el estatus del hostremoto que es el servidor linux que fue agregado en Nagios para ser monitoreado.
[servidor-nagios]# service nagios reload


Para comprobar el espacio en disco de un host remoto, cual sería el comando a utilizar?
nrpe con -H le paso el host …