miércoles, 26 de septiembre de 2018

Levantando Nagios Core con Docker


En mi primer post, voy a hablar de como perdí mi tiempo intentando montar Nagios a pelo. Nah, mejor os lo cuento otro día. Vamos a ver como levantar rápidamente un contenedor de Docker con Nagios Core. Dejo una lista de lo usado:
Ubuntu Server 18.04.1 LTS x86_64
Docker version 18.06.1-ce, build e68fc7a
docker-compose version 1.22.0, build f46880fe
curl 7.58.0
Como podéis observar vamos a emplear docker-compose, que desde mi punto de vista es más visual. Para comenzar, vamos a instalar Docker y Docker-Compose.
sudo apt install curl
curl -fsSL get.docker.com -o get-docker.sh
sudo chmod +x get-docker.sh
sh get-docker.sh 
De esa manera descargan el script de instalación con curl, le dan permisos de ejecución y lo ejecutan. Ahora vamos a installar Docker-Compose:
sudo apt install docker-compose
Si todo fue bien, el siguiente comando les muestra la versión de cada uno
curl -V
docker -v
docker-compose -v
En este momento ya podemos hacer uso de docker. Esta es una configuración básica del archivo docker-compose.yml para poder levantar el contenedor Nagios.
version: '3'
services:
    nagios:
        image: jasonrivers/nagios:latest
        container_name: nagios
        volumes:
          - "./path-to-nagios/etc/:/opt/nagios/etc/"
          - "./path-to-nagios/var:/opt/nagios/var/"
          - "./path-to-custom-plugins:/opt/Custom-Nagios-Plugins"
          - "./path-to-nagiosgraph-var:/opt/nagiosgraph/var"
          - "./path-to-nagiosgraph-etc:/opt/nagiosgraph/etc"
        ports:
          - "8080:80"
Los "volumes" hacen referencia a las carpetas que se compartirán entre la maquina anfitrión y el contenedor Docker. Una vez tengamos creado el fichero docker-compose.yml con las instrucciones anteriores, no situamos en el directorio donde lo hemos creado y podemos pasar a ejecutarlo, para ello:
sudo docker-compose up -d
Listo, ya tenemos Nagios funcionando. Accedemos a la dirección IP de la maquina anfitrión con el puerto 8080 desde un navegador.
Ejem: 192.168.0.100:8080
Si quisieramos tumbar el contenedor, simplemente tendríamos que usar:
sudo docker-compose down 
Los comandos de up y down, los podemos usar cuantas veces queramos para refrescar la config del Nagios, ya que no se van a borrar los archivos (.cfg) que hemos modificado en las carpetas compartidas.

Por ultimo solo quedaría agregar todos los elementos de la red que se desea monitorizar agregando ficheros .cfg en /path-to-nagios/etc/[subcarpeta] (Ejem: /path-to-nagios/etc/servers). Hay un fichero predeterminado que monitorizará el propio servidor Nagios (/path-to-nagios/etc/objects/localhost.cfg). Cabe destacar que la imagen de Nagios para docker trae bastantes plugins, podremos ver la lista usando:
sudo docker exec nagios ls /opt/nagios/libexec
Es muy probable que la interfaz web nos de errores si hemos configurado mal los ficheros, pero no nos dirá cuales son esos errores.



Con el siguiente comando podremos ver que nos falla:
sudo docker exec nagios nagios -v /opt/nagios/etc/nagios.cfg
Si tenéis algún problema, comentad y trataré de resolverlo. Saludos.

0 comentarios:

Publicar un comentario