Cómo instalar y configurar Nagios 3

By Jose Alberto Gallardo Pérez miércoles, 23 de abril de 2014
Nagios es un sistema de monitorización de redes open source (código abierto) que nos permite monitorizar y controlar tanto equipos (hardware) como servicios (software), recibiendo alertas y avisos cuando existan anomalías en los mismos o el comportamiento no sea el deseado.


En este tutorial vamos a aprender cómo instalar y configurar Nagios3 para monitorizar los siguientes servicios y aspectos hardware de los equipos.
  • Que todos los equipos del esquema estén funcionando correctamente (no estén caídos).
  • Que el servicio HTTP de Willy esté funcionando correctamente.
  • Que el servicio SSH de DesOrden, willy y Mireal estén funcionando correctamente.
  • Monitoriza el número de procesos y carga del procesador de willy.

1) Escenario

Nuestro escenario para mostrar la instalación, configuración y monitorización de Nagios la realizaremos con máquinas virtuales, optando por la gratuita Virtual Box. En el siguiente esquema de red podemos ver las IPs asignadas en cada máquina virtual. Tenemos 3 máquinas Debian: Nagios, DesOrden y willy.

2) Simulación con Máquinas Virtuales

Interfaces Máquina Real

En Virtual BoxVirtualBox nos vamos a ir a Archivo > Preferencias > Red y vamos a crear una nueva interfaz de solo anfitrión con dirección 10.0.0.1 y máscara 255.255.255.0 que se llamará Host-Only Adapter #2.


Si hacemos un ipconfig en nuestra máquina real, veremos que tenemos 3 Adaptadores de red: la conexión de área local, la Host-Only Network (que se crea por defecto al instalar Virtual Box) y Host-Only Network #2 que es la que acabamos de crear ahora mismo.


Interfaces Máquina Nagios

La configuración de red en Virtual Box de nuestra máquina Nagios será la siguiente:

Adaptador 1
Conectado a: Adaptador sólo-anfitrión
Nombre: VirtualBox Host-Only Ethernet Adapter #2


Editando el archivo /etc/network/interfaces vamos a configurar nuestra máquina Nagios de la siguiente forma:

nano /etc/network/interfaces

auto eth0
iface eth0 inet static
 address 10.0.0.100
 netmask 255.255.255.0
 gateway 10.0.0.1

Guardamos el archivo y reiniciamos nuestros servicios de red.

service networking restart



Interfaces Máquina willy

La configuración de red de nuestra máquina willy en Virtual Box será la misma que en la máquina Nagios que hemos visto arriba


Editando el archivo /etc/network/interfaces vamos a configurar nuestra máquina willy de la siguiente forma:

nano /etc/network/interfaces

auto eth0
iface eth0 inet static
 address 10.0.0.2
 netmask 255.255.255.0
 gateway 10.0.0.1

Guardamos el archivo y reiniciamos nuestros servicios de red.

service networking restart


Interfaces Máquina DesOrden

La configuración de red de nuestra máquina DesOrden en Virtual Box también será la misma que en la máquina Nagios que hemos visto arriba.


Editando el archivo /etc/network/interfaces vamos a configurar nuestra máquina DesOrden de la siguiente forma:

nano /etc/network/interfaces

auto eth0
iface eth0 inet static
 address 10.0.0.3
 netmask 255.255.255.0
 gateway 10.0.0.1

Guardamos el archivo y reiniciamos nuestros servicios de red.

service networking restart


Comprobar que se hacen ping

Comprobaremos que nuestra máquina de Nagios se ve con Mireal, willi y DesOrden. Para ello haremos ping a 10.0.0.1, 10.0.0.2 y 10.0.0.3.



3) Instalación de Nagios3


Para instalar Nagios en nuestra máquina virtual llamada Nagios, lo primero que haremos será crear las dependencias. Para ello escribiremos en la terminal lo siguiente.

apt-get install php5 libapache2-mod-php5

También es más que recomendable actualizar nuestro Debian.


apt-get update
apt-get upgrade

Por último, vamos a instalar Nagios3


apt-get install Nagios3

Pasos a seguir


Introducir la contraseña, en mi caso nagios


Elegir un nombre para el dominio o grupo de trabajo


Comprobamos desde Mireal que nagios se ha instalado correctamente entrando al navegador e introduciendo la ip que hemos dado a Nagios : 10.0.0.100/nagios3. Para loguearnos, usaremos de nombre de usuario administrador, nagiosadmin y de contraseña nagios.


Si hemos introducido de forma correcta nuestro usuario y contraseña nos saldrá algo como esto...


3) Configuración de Nagios3

Para configurar Nagios tenemos que personalizar los archivos de configuración de Nagios, que podemos encontrar en /etc/nagios3, a donde vamos a ir y donde vamos a crear la carpeta ejemplos

cd /etc/nagios3
mkdir ejemplos

A continuación, vamos al directorio /etc/nagios3/conf.d y copiamos todo el contenido de la carpeta a nuestra carpeta que acabamos de crear llamada ejemplos para tener una copia o backup de los archivos originales, para tirar de ellos en caso de que la "caguemos".

cd /etc/nagios3/conf.d
cp * /etc/nagios3/ejemplos



Estando en la carpeta /etc/nagios3/conf.d vamos a copiar el archivo localhost_nagios2.cfg y al archivo nuevo le llamaremos equipos.cfg

cp localhost_nagios2.cfg equipos.cfg


Editaremos este nuevo archivo y dejaremos sólo la configuración para los host, es decir, uno para la propia máquina de Nagios (localhost), otra para Mireal, otra para willy y otra para DesOrden.

nano /etc/nagios3/conf.d/equipos.cfg


Ahora volvemos a copiar el archivo localhost_nagios2.cfg pero ahora le vamos a dar el nombre servicios.cfg al nuevo archivo.

cp localhost_nagios2.cfg servicios.cfg


Ahora editaremos este nuevo archivo llamado servicios.cfg y lo que haremos será borrar la configuración de los hosts, dejando sólo la configuración de los servicios como vamos a ver en la siguiente imagen. (Te recomiendo borrar los comentarios y poner los tuyos propios #)

nano servicios.cfg


Ahora vamos a borrar el archivo localhost_nagios2.cfg ya que no nos va a servir más

rm localhost_nagios2.cfg

A continuación, vamos a redireccionar el contenido del archivo services_nagios2.cfg a nuestro fichero servicios.cfg que añadirá más servicios a nuestro archivo de la imagen de arriba.

cat services_nagios2.cfg >> servicios.cfg

Ojo! cuidado de escribir >> y no > ya que si no machacaríamos el archivo servicios.cfg 

Tras añadir este contenido podremos ver que en nuestro archivo servicios.cfg se ha agregado la siguiente información.



A continuación renombramos el archivo hostgroups_nagios2.cfg a grupos.cfg. En este archivo crearemos diferentes grupos según las funciones, sistemas operativos, servicios...

mv hostgroups_nagios2.cfg grupos.cfg

Ahora vamos a renombrar los archivos que contienen las plantillas de configuración de equipos y servicios, por si posteriormente queremos agregar más servicios.

mv generic-host_nagios2.cfg plantilla_equipos.cfg
mv generic-service_nagios2.cfg plantilla_servicios.cfg

Por último ejecutaremos el comando nagios3 -v para cargar la configuración al archivo /etc/nagios3/nagios.cfg que es el archivo que contiene la configuración de Nagios. Los demás archivos nos sirven para tenerlo todo mejor controlado, pero gracias a este archivo podemos comprobar que no hay ningún error, por tanto ejecutaremos en nuestra máquina de Nagios el siguiente comando.

nagios3 -v /etc/nagios3/nagios.cfg

En mi caso me daba un error relacionado con el archivo equipos.cfg, ya que localhost estaba definido tanto en equipos.cfg como en el archivo hosts.cfg. Por tanto lo he solucionado eliminando el archivo hosts.cfg

rm /etc/nagios3/conf.d/hosts.cfg

Tras esto volveríamos a ejecutar el comando nagios3 -v /etc/nagios3/nagios.cfg y si todo es correcto, nos debería de devolver algo como esto. Aunque sería mejor sin tener Warnings =D.


Para finiquitar reiniciaremos nagios.

service nagios3 restart

4) Monitorización de servicios con Nagios3


a) La primera tarea que vamos a ver es que todos los equipos del esquema estén funcionando correctamente (no estén caídos).

Para comprobar esto, simplemente nos loguearemos desde la máquina real (Mireal) en Nagios (si no lo recuerdas ve al punto 2 de este artículo) y nos iremos al apartado Hosts. Si en Status tenemos todo en verde (UP) será que nuestro servidor Nagios está haciendo ping a todas las máquinas y por consiguiente está encendidas.




b) La segunda tarea será que el servicio HTTP de Willy esté funcionando correctamente.

Para ello en la máquina willy tendremos que instalar un servidor http, que podremos hacerlo con el siguiente comando.

apt-get install apache2

Es necesario tener conexión a internet, para ello lo más cómodo si estamos usando máquinas virtuales, es abrirle un adaptador de red (eth1) en adaptador puente y deshabilitarlo al terminar de descargar.

Editaremos el archivo grupos.cfg e incluiremos a willy dentro del grupo HTTP servers


Para comprobar que el servicio HTTP funciona de forma correcta en willy, simplemente nos iremos a Nagios > Host Groups y veremos que en el grupo HTTP servers nuestro servidor HTTP en willy está OK.



c) La tercera tarea que vamos a ver es que el servicio SSH de DesOrden, willy y Mireal estén funcionando correctamente.

Para ello editaremos nuevamente el archivo grupos.cfg e incluiremos en el grupo SSH servers como nuevos "members" a los equipos DesOrden, willy y Mireal. Yo lo he solucionado poniendo un asterisco, lo cuál incluye a todos los hosts.



Obviamente, es necesario tener instalado SSH en las máquinas sobre las que queremos monitorizar el estado de SSH, en mi caso voy a proceder a instalar en willy y DesOrden el servidor SSH. Por tanto nuevamente, será necesario tener internet para realizar la instalación con el siguiente comando.

apt-get install ssh

En la máquina Mireal no voy a instalar el servidor SSH para poder ver que cómo Nagios nos avisa cuando un servicio no funciona correctamente.

Para ver que la monitorización de los servidores SSH es correcta nuevamente en Nagios > Host Groups podremos ver el grupo SSH servers, donde vemos que el servicio SSH está OK en DesOrden, localhost y willy, y en estado CRITICAL en Mireal, puesto que como he dicho antes no he instalado en esta máquina el servidor SSH.


d) Por último monitorizaremos el número de procesos y carga del procesador de willy.

Para poder monitorizar servicios como el número de procesos o la carga de procesador, lo primero que debemos hacer será instalar el servidor NRPE que nos permitirá que Nagios pueda monitorizar los servicios locales de las diferentes máquinas, en nuestro caso de willy. Para ellos tendremos que instalar paquetes tanto en nuestro host remoto (willy) como en nuestro servidor (Nagios).

En willy

Instalaremos el siguiente paquete (recordamos que debemos tener internet)

apt-get install nagios-nrpe-server

A continuación, comprobaremos que el servicio está a la escucha

netstat -natup|grep nrpe


Ahora editaremos el archivo nrpe.cfg y buscaremos la directiva "allowed_hots" y vamos a añadir la IP del servidor Nagios.

nano /etc/nagios/nrpe.cfg


Guardamos el fichero y reiniciaremos el servicio nrpe

service nagios-nrpe-server restart

En servidor Nagios

Una vez configurado el host (willy) vamos a instalar un plugin en nuestro servidor Nagios

apt-get install nagios-nrpe-plugin

Ahora comprobaremos que nos podemos comunicar con el host remoto de la siguiente forma

/usr/lib/nagios/plugins/check_nrpe -H 10.0.0.2


El resultado debe ser como el de la imagen de arriba, mostrandonos NRPE y la versión.

Una vez reazlizada esta configuración en el servidor Nagios, ahora toca decirle a nuestro archivo servicios que queremos ver el número de procesos y la velocidad de carga de willy. Para ello nos vamos a ir al archivo servicios.cfg y añadiremos a willy en Total Processes y Current Load

nano /etc/nagios3/conf.d/servicios.cfg


Por último, guardaremos el archivo, cargaremos los cambios y reiniciaremos nuestro servicio.

nagios3 -v /etc/nagios3/nagios.cfg
service nagios3 restart

Ya sólo nos queda irnos a nuestra Mireal, máquina real, y ver en nuestro menú de administración de Nagios que estamos monitorizando la carga del procesador y el número de procesos de willy.



Espero que te haya servido este tutorial, si es así compártelo y si tienes alguna duda, déjame un comentario

José Alberto Gallardo Pérez

Soy un sevillano de 25 años, proyecto de ingeniero, profe de ajedrez, escéptico, loco, con mil ideas en la cabeza y poco tiempo para desarrollarlas. A veces me da por crear contenido en Monetizalia, Gallardowork, MusicCopyleft o donde estas ahora mismo.

4 comentarios to ''Cómo instalar y configurar Nagios 3"

ADD COMMENT
  1. ¡Por fin un caso práctico sencillo para entender cómo poder monitorear equipos y servicios!. He estado buscando por la red casos prácticos pero solo encontraba cómo instalar nagios (hay mil maneras distintas) sin ejemplos prácticos que es lo que realmente necesitamos para comprender algo.

    ResponderEliminar
  2. Y se me ha olvidado dar las gracias y mi enhorabuena por el post :)

    ResponderEliminar
  3. Este es el mejor tutorial que he visto.

    Sin duda con un caso práctico es más fácil comprender la utilidad de Nagios.

    Sería genial que publiques más casos prácticos.

    Gracias por el tutorial.

    Saludos.

    ResponderEliminar
  4. Excelente Tutorial de como configurar Servidor de Monitoreo, Saludos desde Paraguay..!!!

    ResponderEliminar