Aplicacion Web sobre Nagios

1. ¿QUE ES NAGIOS?

Nagios es una aplicación para la monitorización de red y sistemas, que vigila constantemente hosts, servicios y cualquier cosa que definamos alertándonos cuando aparecen los problemas y cuando se solucionan.

Nagios está escrito en C y es Software Libre.

1.1Características:

  • monitorización de servicios de red: SMTP, POP3, HTTP, SSH, DNS, etc.
  • monitorización de recursos: Carga de procesador, espacio libre en filesystem, uso de la memoria, etc.
  • Capacidad de desarrollas plugins de forma sencilla que permite a los usuarios programar sus propios chequeos.
  • Capacidad de definir una topología o jerarquía de red que permita distinguir entre servicios caídos o inaccesibles.
  • Envío de notificaciones mediante múltiples métodos cuando los problemas aparecen y cuando se resuelven.
  • Capacidad para definir eventos que se ejecutaran en caso de problema.
  • Consola web para la visualización del estado actual de todos los servicios, generación de estadísticas, historial de alarmas, etc.
  • Soporte de base de datos para almacenamiento de datos externos.

2.INSTALACIÓN.

Tengo descargado ya las últimas versiones del nagios y sus plugins

Podemos descargarlos desde la web www.nagios.org

2.1Requisitos previos:

Software:

  • Sistema operativos GNU/Linux y un compilador de C. (Apt-get install build-essential)
  • Apache.  (Apt-get install apache2.)
  • Librerias gráficas GD, JPEG y PNG.(Apt-get install libgd2-dev )

Tras la instalación de los requisitos, todavía no se puede monitorizar nada. Hay que diseñar y planificar la red que queremos monitorizar e indicarlo en los ficheros de configuración.

Para comenzar las instalación de los paquetes basta con indicar en un terminal los siguientes comandos:

2.2Creación de usuario y grupo:

Para crear un nuevo usuario en Nagios debemos definirlo en el archivo:

Creamos un nuevo grupo para permitir que comandos externos se puedan ingresar por medio de la interfaz web

2.3Compilar e instalar Nagios:

Primero tenemos que descomprimir el paquete de nagios-3.3.1.tar.gz y acceder a la carpeta que crea la maquina al descomprimir.

Una vez dentro de la carpeta de nagios comenzamos a configurarlo ejecutando el script.

y lo compilamos el código fuente de nagios.

2.4Compilar e instalar los plugins de nagios.

Para comenzar, debemos extraer los plugin de nagios, acceder a la carpeta que descomprime y empezar a ejecutar el script de configuración:

y compilamos el código

2.5Personalizar la configuración:

Alertas de correo:

Para que Nagios nos envíe automáticamente alertas de errores a nuestra cuenta de correo, hay que modificar el fichero contacs.cfg, localizado en la ruta /usr/local/nagios/etc/objects/contacs.cfg, indicandole en el usuario correspondiente la cuenta de correo a la que queremos que envíe las alertas.

2.6Configuración de interfaz web:

Utilizamos la cuenta “nagiosadmin” para acceder a la interfaz web de Nagios por lo que deberemos especificarselo a nagios

y una vez inciado sesión reiniciamos apache para guardar la configuración con el siguiente comando:

/etc/init.d/apache2 restart

2.7Iniciar Nagios:

Debemos configurar Nagios para que se ejecute automáticamente cuando arranquemos el sistema. Para ello utilizamos el siguiente comando:

ln -s /etc/init.d/nagios /etc/rcS.d/S99nagios

Para inicar Nagios utilizamos el siguiente comando:

/etc/init.d/nagios start

2.8Login a la interfaz web:

Ya podemos acceder a la interfaz web,  indicando nuestro usuario y contraseñas en la siguiente dirección:

http://localhost/nagios/

2.9 Otras modificaciones:

Para recibir notificaciones de alertas de Nagios por correo debemos instalar el paquete mailx (Postfix).

apt-get install mailx

Editaremos los comandos del fichero  /usr/local/nagios/etc/objects/commands.cfg y cambiar todas las cadenas “/bin/mail” por “/usr/bin/mail”. Después reiniciaremos Nagios para guardar la configuración, para ello utilizamos el siguiente comando:

/etc/init.d/nagios restart.

3.ARCHIVOS PRINCIPALES DE CONFIGURACIÓN DE NAGIOS:

Contacts.cfg: En el se agregan los usuarios, debemos tener un usuario administrador que debe corresponder con el usuario de apache definido en htpasswd.

Contactsgroups.cfg: En el que añadimos los diferentes usuarios que agregamos en el archivo anterior a los grupos que indiquemos.

Nagios.cfg: Es el archivo de configuración principal. Es necesario indicarle donde están los archivos de configuración, y si queremos o no activar propiedades.

Cgi.cfg: Archivo para dar accesos a los usuarios  a los archivos de CGI.

Hosts.cfg: Archivo donde le tenemos que añadir los host que queramos monitorizar. Hay que indicar una entrada por cada host de la red.

Hostgroups.cfg: Archivo en el que añadiremos los grupos a los que pertenece cada host.

4.CREAR MAPEADO INTERNO CON NAGIOS

Para poder crear nuestra red personalizada tenemos que tocar el archivo principal de configuración que es nagios.cfg.  Del cual tenemos que comentar la linea que carga el .cfg del localhost  (cfg_file=/usr/local/nagios/etc/objects/localhost.cfg), y creamos nuestra propia archivo .cfg llamado mired.cfg

Mired.cfg estará compuesto por el mapa de la red que queramos monitorizar y gestionar, los grupos y servicios activados.

Con el siguiente comando podemos comprobar que los cambios realizados en la configuración son correctos:

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

Una vez realizado todos estos pasos, accedemos via web al nagios y veremos que nos ha creado la estructura en su mapa.

En el marco de la izquierda de la imagen vemos varias opciones del servidor nagios, veremos por encima alguna de ellas, ya que se extendería e iría hacia un lado demasiado técnico.

SERVICE

Muestra una tabla con los servicios que tienes configurado en el archivo de mired.cfg, el host que tiene cada servicio y su operatividad.

SERVICE GROUPS

Presenta una distribución de los servicios por grupos de host.

AVAILABILITY

Estructurado en grupos, marca la disponibilidad de sus host mienbros.

TRENDS

En esta opción puedes ver  las tendencias de uso de los host.

SCHEDULING

muestra toda la programación que tiene el servidor para cada host con su respectivos servicios activados

PERFORMANCE

aquí nos marca el rendimiento que está teniendo nuestra red y la configuración del nagios.

CONFIGURATION

Una tabla resultado de toda la configuración técnica que dispone cada host

Seria una explicación basica para poder tener instalado nagios sobre debian.

Pongo enlaces como punto de interes y para descargarte el nagios:

blog de nagios

www.nagios.org

Un saludo