Monitorizando equipos y servicios con Nagios + NagiosQl + PNP4Nagios

Monitorizando equipos y servicios con Nagios + NagiosQl + PNP4Nagios

0. Índice de contenidos.

1. Entorno

Este tutorial está escrito usando el siguiente entorno:

  • Hardware: Portátil 2,4 Ghz Intel Core2 Duo P8600
  • Sistema Operativo: Ubuntu 11.04 Natty Server

2. Introducción

Es este tutorial aprovecharemos las capacidades de Nagios para monitorizar máquinas y los servicios que estas proveen. Utilizaremos NagiosQl para realizar de forma mas sencilla la tarea de gestión de Nagios y PNP4Nagios para mostrar gráficos de estado para servicios que lo soportan.

3. Instalación de Nagios

Antes de comenzar la instalación de Nagios necesitamos que se instalen (si no hemos seleccionado los paquetes de LAMP server en la instalación de Ubuntu) con un usuario con permisos de sudo (root) los paquetes de apache2, php y build (para compilar):

Creamos el usuario y el grupo para Nagios y sus asociaciones con el usuario de ejecución de apache www-data:

Ahora descargaremos nagios (en nuestro caso será la versión 3.3.1) y lo descomprimimos:

A mi personalmente me gusta instalar los servicios en el directorio /srv por lo que lo usaremos de base el directorio /srv/nagios (si omitimos el parámetro –prefix, la instalación se realizará en /usr/local/nagios)

Ahora instalaremos los plugins (en este caso la versión 1.4.15) que son los comandos linux que se lanzarán cada intervalo de tiempo predeterminado:

Ahora configuraremos el inicio de nagios, primero comprobamos que no hay errores de configuración y establecemos el usuario y grupo para el directorio /srv/nagios:

Añadimos nuestro script de inicio al inicio del sistema, iniciamos el servicio y reiniciamos el apache para que coja los cambios:

Si todo va bien, accediendo a la url http://[ip_servidor]/nagios (nos solicitará las credenciales del usuario nagiosadmin que hemos introducido antes para el archivo htpasswd) debemos ver algo parecido a esta imagen:

Nagios Home

Podemos pulsar sobre “Services” y veremos las monitorizaciones que existen por defecto para el host de nagios.

Default Services

Con estos pasos ya tendriamos instalado nuestro Nagios, y podriamos trabajar con el modificando los objetos del directorio “/srv/nagios/etc/objects/”, pero para hacer esta tarea más comoda la instalaremos NagiosQl en el siguiente apartado.

4. Instalación de NagiosQL

Ahora vamos a instalar nagiosql que es una inferfaz web para dar de alta nuestro host y servicios en nagios y modificar los archivos de configuración de nagios, reiniciarlo, etc. Primero descargamos el archivo nagiosql_311.tar.gz

Una vez instalado vamos a la direccion: http://[ip_servidor]/nagiosql , obtendremos una pantalla como esta:

Instala Nagiosql 1

Seleccionamos idioma español y pulsamos sobre el botón “Iniciar Instalación”, nos aparecerá una pantalla de verificación de requisitos:

Instala Nagiosql 2

Aparecerá una pantalla en la que indicaremos el password de usuario root (de mysql) u otro usuario con permisos de creación de esquemas/tablas, etc. Después introducimos las credenciales de inicio en la aplicación y pulsamos sobre “Siguiente”:

Instala Nagiosql 3

Nos aparecerá la ventana de confirmación, en la que nos indica que debemos eliminar el directorio “/srv/nagios/nagiosql/install/”

Instala Nagiosql 4

Y pulsamos sobre “Finalizar”. Nos aparecerá la pantalla de login, en la introduciremos las credenciales anteriormente configuradas y pulsamos sobre “Login”:

Login Nagiosql

El siguiente paso es configurar los archivos las rutas de Nagios y NagiosQL, para ello vamos a “Administración -> Dominios” y pulsamos sobre el icono “Modificar” en la fila “localhost”:

Config Nagiosql 1

Config Nagiosql 2

Ahora configuramos el archivo “nagios.cfg” desde “Herramientas -> Nagios Config” comentamos las siguientes lineas:

Y añadimos despues las nuevas y pulsamos sobre “Guardar”:

Ahora vamos a “Herramientas -> Control Nagios” y realizamos todos los pasos por orden, siempre y cuando no den errores:

Config Nagiosql 3

Cargamos nagios http://[ip_nagios]/nagios y vemos que está todo correcto. En mi caso como he importado datos de ejemplo, me aparecen mas host:

Nagios-NagiosQl

5. Instalación de PNP4nagios

PNP4nagios nos permite realizar gráficas en tiempo real con los datos de ejecución de los servicios (perfdata), utiliza rddtool que se basa en una bbdd roud-robin que no crece apenas con el número de muestras.

Lo mismo que en los pasos anteriores, descargamos, descomprimimos e instalamos:

Editamos el archivo /etc/apache2/conf.d/pnp4nagios.conf y modificamos la ruta de AuthUserFile por la siguiente y reiniciamos apache:

Vamos a configurar pnp4nagios en el modo masivo para que tenga menos carga sobre el sistema, para ello debemos modificar el archivo nagios.cfg como antes y habilitar el procesado de PROCESS PERFORMANCE DATA:

Nagios-NagiosQl

Después desde el menú “Comandos -> Definiciones” damos de alta los siguientes dos comandos:

Process Host

Process Service

Ahora para que nos aparezcan los iconos de las gráficas en los servicios y en los host, editaremos la plantilla generic-service y generic-host en el menú Supervisión -> Plantillas de servicios y “Supervisión -> Plantillas de Host” respectivamente, en la pestaña “Ajustes adicionales ponemos el campo:

Host Template

Service Template

Aplicamos los cambios desde el menú “Herramientas -> Control Nagios” y accedemos a nagios http://[ip_nagios]/nagios , nos deben aparecer iconos con gráficas en cada uno de los servicios y host:

Nagios

Para terminar la instalación hacemos click en uno de los iconos donde se verificará si todo está correcto.

pnp4Nagios

Eliminamos el archivo que nos comenta “/srv/nagios/pnp4nagios/share/install.php” y volvemos a nagios. Si pasamos el raton sobre las gráficas podemos ver un popup con la gráfica o gráficas generadas, y si hacemos click sobre el icono vamos a una vista mas grande que nos muestra las gráficas en varios periodos:

pnp4Nagios

pnp4Nagios

6. Conclusiones

Ahora ya tenemos instalado Nagios+NagiosQl+PNP4Nagios y podemos empezar a monitorizar nuestros equipos desde impresoras, routers, servidores, aplicaciones java, a un simple puesto de trabajo. Para indagar mas sobre qué y cómo configurar podeis echar un ojo a los enlaces relacionados.

Cualquier duda o sugerencia podeis comentarlo.

Saludos.

7. Referencias

  • http://www.nagios.org/
  • http://www.nagiosql.org/
  • http://docs.pnp4nagios.org/es/pnp-0.6/start