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
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.
Comments
18 Responses to “ Configurar Nagios en Ubuntu ”
Post a Comment | Enviar comentarios ( Atom )
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...
4 de junio de 2010, 10:11Si no funciona le diré al jefe la fuente eh?? xD
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:17Creo 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.
12 de julio de 2010, 21:33Pero el funcionamiento en principio es el mismo.
Hola Marta.
5 de agosto de 2010, 15:53Te 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
Hola Anónimo,
16 de agosto de 2010, 13:47Prueba 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.
HOLA HOLA
18 de septiembre de 2010, 0:42PUES 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.
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:20hola 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:26Buenos dias,
13 de abril de 2011, 16:32alguien me podria por favor decir como agregar otra columna en la monitorizacion de nagios para colocar datos estaticos, informacion de los host.
muchas gracias
Buenas tardes.
25 de octubre de 2011, 19:51Ante 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.
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.
8 de noviembre de 2011, 19:51Gracias de Antemano
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:43xidoooootee!!! mil gracias experta!!!
29 de abril de 2012, 9:15FUE DE GRAN AYUDA!
29 de abril de 2012, 9:20Gracias por este genial explicación y por el detalle que impregnas en cada comentario...
21 de junio de 2012, 11:31He 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
orale que bien dominas el tema fue de gran ayuda GRACIAS !te felicito¡
10 de enero de 2013, 20:52Como 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:57Alguien sabe como agregar una columna mas a la monitorización de nagios..
7 de marzo de 2013, 19:37Publicar un comentario
Deja tu opinión realizando un comentario interesante. Cualquier intento de Spam no será admitido.