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.
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.
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
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
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.
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
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
¡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.
ResponderEliminarY se me ha olvidado dar las gracias y mi enhorabuena por el post :)
ResponderEliminarEste es el mejor tutorial que he visto.
ResponderEliminarSin 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.
Excelente Tutorial de como configurar Servidor de Monitoreo, Saludos desde Paraguay..!!!
ResponderEliminar