Como monitorear un Servidor Linux usando Nagios 3.0

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

1 Response to “Como monitorear un Servidor Linux usando Nagios 3.0”


Leave a Reply




This site is part of the official Nagios Community Network and is operated with permission from Nagios Enterprises. Nagios® and the Nagios logo are registered trademarks of Nagios Enterprises.

Disclaimer | Terms of Use | Privacy Policy