Configurar Nagios en Ubuntu

jueves, 3 de junio de 2010

En un post anterior publiqué un completo manual para instalar Nagios en Ubuntu. En este caso, partiendo de que Nagios ya este instalado, voy a explicar como configurar Nagios en Ubuntu.

Inicialmente Nagios sólo monitoriza la máquina local. Sin embargo, es obvio que lo que queremos es monitorizar otros dispositivos.
Lo primero es conocer la estructura de carpetas de Nagios. Nagios está instalado en "/usr/local/nagios". Dentro de esta carpeta está la siguiente estructura:
  • bin: Están los ejecutables de Nagios
  • etc: Contiene los archivos de configuración
    • objects: Archivos de configuración para los distintos dispositivos a monitorizar
  • libexec: Son los scripts para monitorizar
El archivo de configuración general está en "/usr/local/nagios/etc/nagios.cfg". Es es este archivo donde definimos todos los archivos de configuración que se van a incluir aparte de otras configuraciones, de manera que debemos descomentar aquellos que vayamos a usar.



Ahora vamos a centrarnos en los archivos de configuración dentro de la carpeta "/usr/local/nagios/etc/objects". En cada archivo de configuración se define lo que se quiere mirar de cada tipo de dispositivo (router, switch, servidores windows, etc.).

En el fichero commands.cfg se definen los comandos a utilizar. Por ejemplo, podemos definir que nos manden los emails de aviso en un formato de correo específico. La variable $USER1$ (usada en commnands.cfg) indica donde están los script de nagios.

Los scritps como ya he dicho antes están en la carpeta libexec. Para saber como usar los scripts ponemos el nombre del script seguido de -h para ver la ayuda:

check_smtp -h


En el archivo contacts.cfg están los contactos. Por ejemplo, está la dirección de email que introducimos para enviar los emails de aviso en el post instalar Nagios en Ubuntu.

En el archivo template.cfg hay plantillas para crear nuevos archivos de configuración. Hay plantillas para hosts, contactos, etc.

Aparte, están los archivos localhost.cfg, switch.cfg, windows.cfg en los que definiremos nuevos dispositivos y servicios a monitorizar.

Sigue leyendo para ver como configurar Nagios en Ubuntu.



Añadir un nuevo Host

Vamos al archivo windows.cfg porque vamos a añadir un servidor Windows. Copiamos el ejemplo de host que aparece y cambiamos los parámetros, además vamos a meterlo en el grupo "windows-servers":

define host{

use windows-server

host_name win2K3

alias Servidor DGSC

address 172.17.110.203

hostgroups windows-servers

}


Añadir un nuevo Servicio

Ahora vamos añadir un servicio para el nuevo Host que acabamos de definir. Para ello al final del archivo windows.cfg veremos algunos ejemplos de servicios. En este caso vamos a monitorizar HTTP.

define service{

use generic-service

host_name Win2K3

service_description HTTP Win2K3

check_command check_http

}


Los servicios en Nagios tienen 4 estados diferentes:
  • OK: Todo en orden
  • WARNING: Se ha alcanzado el umbral de alerta, pero no se ha llegado al umbral de crítico
  • CRITICAL: Se ha superado el umbral crítico o el plugin interrumpe el test después de un tiempo
  • UNKNOWN: Ha ocurrido un error en el plugin. Por ejemplo, se ha utilizado un parámetro erróneo

Antes de definir un servicio podemos probar el script manualmente mediante línea de comandos.

root@nagios:/usr/local/nagios/libexec# ./check_dns -s 172.17.14.1 -H www.google.com


Si el resultado es correcto y tenemos que definir muchos servicios con el mismo script y parámetro similares podemos crear un comando en el archivo commands.cfg.

# 'check_dns' command definition
define command{
command_name check_dns
command_line $USER1$/check_dns -s $HOSTADDRESS -H www.google.com


De esta forma la definición del servicio será más fácil:

define_service{

use generic-service

host_name DNS_externo

service_description DNS

check_command check_dns

}


Guardar los cambios

Para que los cambios surtan efecto, como ya he dicho antes, hay que descomentar el fichero de configuración de windows (windows.cfg) en el fichero nagios.cfg:
# Definitions for monitoring a Windows machine

cfg_file=/usr/local/nagios/etc/objects/windows.cfg


Antes de poner en marcha las nuevas configuraciones debemos asegurarnos de que los cambios que hemos hechos no provocan errores. Para ello debemos ejecutar el binario nagios con la opción -v.

/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg


Reiniciamos Nagios:

sudo /etc/init.d/nagios restart


Al igual que hemos hecho con el servidor de Windows, podemos monitorizar otros dispositivos, como routers y switches vía SNMP. Para ello debemos habilitar el archivo de configuración switch.cfg en nagios.cfg.

Interfaz Web de Nagios

La interfaz web muestra el estado actual de todos los sistemas monitorizados. Podemos ver el estado de los Host. La columna Duration especifica desde cuándo ha sido visto, desde que ha sido añadido o desde que se ha recuperado de una caída.


También podemos ver el estado de los sevicios.



Incluso un mapa con las dependencias entre todos los dispositivos monitorizados.



Por defecto los iconos del mapa no aparecen. Para ello debemos descargarnos dos paquetes de iconos:
Debemos descomprimir los dos paquetes en la carpeta "/usr/local/nagios/share/images/logos". Ahora solo debemos definir para cada host el icono (statusmap_image, icon_image) y quien es el padre del mismo (parents) para que la conexiones en el mapa se muestren adecuadamente.


define host{

use windows-server ; Inherit default values from a template

host_name Nostromo ; The name we're giving to this host

alias Host Nostromo ; A longer name associated with the host

address 172.17.110.203 ; IP address of the host

hostgroups windows-servers

statusmap_image win40.gd2

icon_image win40.gif

parents Default_gateway

}

Con esto ya hemos configurado Nagios en Ubuntu. Ahora podemos seguir incluyendo nuevos dispositivos que queramos monitorizar.

Artículos relacionados


Comments

18 Responses to “ Configurar Nagios en Ubuntu ”
Post a Comment | Enviar comentarios ( Atom )

Murdock dijo...

Lo bien que me va a venir esto Marta, que me van a hacer instalar uno el Lunes y ya estaba mordiéndome las uñas...

Si no funciona le diré al jefe la fuente eh?? xD

4 de junio de 2010, 10:11
Anónimo dijo...

Buenas yo tengo que monitorizar varios servidore algunos con linux y otros con win,lo de win no habria problema, pero que pasa si necesito monitorear los linux

12 de julio de 2010, 16:17
Marta dijo...

Creo que puedes monitorizar los servidores linux igual que los de windows, simplemente que en vez de meterlos en el fichero de configuración de windows.cfg puedes meterlo en hosts.cfg o crear tu uno nuevo para linux, que sería linux.cfg.
Pero el funcionamiento en principio es el mismo.

12 de julio de 2010, 21:33
Anónimo dijo...

Hola Marta.
Te felicito por tan buen tutorial. Te comento lo q tengo instalado ahora q es ubuntu 10.4 y nagios 3.2.1, nagios trabaja perfectamente lo unico q no he logrado conseguir es q envie las notificaciones a mi email, la cual contamos con un exchange server. En dias anteriores cuando instale nagios lo hize con mailx y postfix, pero no sirvio, luego instale sendmail y pude hacer q las notificaciones se crearan en nagios.log, pero por algun motivo no eran enviadas. Por esto volvi a instalar postfix y al momento de instalarlo no me salia la pantalla azul para escoger el tipo de servicio de correo. Alguna idea o q me aconsejas??
Estoy muy urgido ya q tengo q entregar este proyecto pronto

De antemano muchas gracias

5 de agosto de 2010, 15:53
Marta dijo...

Hola Anónimo,
Prueba con el archivo de configuración de postfix en "/etc/postfix/main.cf" hay podrás cambiar todo lo relativo al programa.
Espero que te sirva.

16 de agosto de 2010, 13:47
Unknown dijo...

HOLA HOLA
PUES MIRA, YA TENGO INSTALADO NAGIOS Y HE CARGADO LA PAGINA QUE QUIERO MONITOREAR, EL DETALLE ES QUE DENTRO DE LA MISMA PAGINA ESTA ALMACENADA LA INFORMACION DE UNOS DISPOSITIVOS Y ES LA INFORMACIN QUE NECESITO ESTAR VERIFICAND0O Y HASTA EL MOMENTO NO HE ENCONTRADO COMO HACERLO, PUEDES AYUDARME POR FAVOR?

DE ANTEMANO GRACIAS.

18 de septiembre de 2010, 0:42
Anónimo dijo...

hola muchas gracias por el tutorial si que me sirvio de mucho pero me surgio un problema el status de mi service de todos es critical y me sale en status information (Return code of 127 is out of bounds - plugin may be missing) y no se como solucionarlo

3 de diciembre de 2010, 2:20
Anónimo dijo...

hola como estas bueno queria felicitarte por el tutorial bueno queria tambien perdirte un favor ¿como cambio el status de todos mis service de nagios que se encuentran en critical y tiene como status information es Return code of 127 is out of bounds - plugin may be missing) esto me sale en todo no se como solucionarlo ya he intentado pero no púde

3 de diciembre de 2010, 2:26
Unknown dijo...

Buenos dias,

alguien me podria por favor decir como agregar otra columna en la monitorizacion de nagios para colocar datos estaticos, informacion de los host.
muchas gracias

13 de abril de 2011, 16:32
Antonio L. dijo...

Buenas tardes.

Ante todo mi admiración por vuestro dominio de NAGIOS.

Mi necesidad se centra en exportar datos en tiempo real a EXCEL.

¿Cómo me reconmendáis hacerlo?

Gracias.

25 de octubre de 2011, 19:51

Hola mil gracias por este aporte solo una consulta en los iconos mencionas (quien es el padre del mismo (parents)) Aque te refieres con ello.
Gracias de Antemano

8 de noviembre de 2011, 19:51
Anónimo dijo...

Hola ¿puedes ayudarme? solo quiero monitorizar el espacio en disco snmp de un servidor que está en la misma red el cual ya tiene corriendo el snmp, pero desde nagios solo me aparece el status desconocido, ya le he editado el commands.cfg y el mismo archivo del host, pero nada. Gracias

8 de febrero de 2012, 2:43
Anónimo dijo...

xidoooootee!!! mil gracias experta!!!

29 de abril de 2012, 9:15
Anónimo dijo...
Ignacio dijo...

Gracias por este genial explicación y por el detalle que impregnas en cada comentario...

He tenido un error en la configuración a la ahora de asociar el service DNS en windows.cfg, al realizar la verificación de los ficheros me arroga un error en la linea "define service", alternamente habia ya agregado los datos en commands.cfg

21 de junio de 2012, 11:31
Anónimo dijo...

orale que bien dominas el tema fue de gran ayuda GRACIAS !te felicito¡

10 de enero de 2013, 20:52
Anónimo dijo...

Como estas Marta, queria felicitarte por tus dos tutoriales que segui de NAGIOS (este y el de instalación), muy didácticos, sencillos de seguir y entender. Ahora queremos controlar el ancho de banda utilizado por IP (de las IPs de LAN y del localhost, nuestro FW), hay algun manual que me recomiendes para esto, porque todo lo que vimos es con SNMP y no sabemos si hay otra forma de hacerlo. Desde ya muchas gracias. Ariel

2 de febrero de 2013, 21:57
Anónimo dijo...

Alguien sabe como agregar una columna mas a la monitorización de nagios..

7 de marzo de 2013, 19:37

Publicar un comentario

Deja tu opinión realizando un comentario interesante. Cualquier intento de Spam no será admitido.