Instalar Nagios en un servidor Debian 9 y en Raspbian
En el artículo de hoy vamos a ver todos los pasos para instalar la plataforma de monitorización Nagios, sobre un servidor Debian 9 , con el nombre “Stretch”. A la par también dejaré notas para la instalación sobre un sistema Raspbian, que como ya sabéis está basado en Debian y funciona sobre las placas Raspberry Pi
Instalar Nagios sobre Debian 9 y Raspbian
Una pequeña introducción
Antes de empezar con la instalación, hablemos un poco de Nagios. Se trata sin suda de la plataforma más popular, en lo que respecta a la monitorización. Es la que lleva más años a sus espaldas, además muchos otros productos son “fork” de este, por ejemplo, Icinga
Nagios está pensando para ser escalabre y flexible, y tiene como fin garantizar la tranquilidad de los administradores de sistemas. Nos permite tener un conocimiento rápido de toda la infraestructura de IT. Permite detectar y reparar problemas, además de mitigar problemas futuros, antes de que afectan a los usuarios finales y a los clientes.
Tiene un buen puñado de ventajas:
- Planifica actualizaciones de la infraestructura antes de que los sistemas obsoletos puedan fallar
- Respuesta rápida a los problemas
- Puede incluso solucionar problemas automáticamente cuando se detectan
- Coordinar la respuesta con el equipo técnico
- Se asegura que se cumplan todas las SLA de nuestra organización
- Podemos controlar toda la infraestructura y los procesos comerciales
Para el artículo utilizaremos la última versión que es la 4.4.1
Instalación de Nagios Core
Antes de nada, hay que tener en cuenta que debemos tener permisos de super administrador para realizar la instalación.
En Debian:
1 | su #De Super User |
En Raspbian:
1 | sudo -i |
Por defecto el elemento de seguridad SELinux viene desactivado en Debian, por lo que no tendremos que interactuar con él.
En lo que se refiere a los requisitos, debemos tener instalados una serie de paquetes y librerías, que son:
1 2 3 | apt update apt install -y autoconf gcc libc6 make wget apt install -y unzip apache2 apache2-utils php libgd-dev |
Si nos fijamos se tratan de herramientas necesarias para compilar paquetes escritos en C, además de las piezas de un servidor web Apache2 más PHP
Descargamos Nagios desde los repositorios oficiales:
1 2 3 | cd /tmp wget -O nagioscore.tar.gz https://github.com/NagiosEnterprises/nagioscore/archive/nagios-4.4.1.tar.gz tar xvf nagioscore.tar.gz |
Compilamos:
1 2 3 | cd /tmp/nagioscore-nagios-4.4.1/ ./configure --with-httpd-conf=/etc/apache2/sites-enabled make all |
Creamos usuario y grupo:
1 2 | make install-groups-users usermod -a -G nagios www-data |
Instalamos los binarios, CGI y ficheros HTML
1 | make install |
Instalamos el servicio:
1 | make install-daemoninit |
Instalamos y configuramos el archivo de comandos externos
1 | make install-commandmode |
Instalamos los ficheros de configuración de ejemplo.
1 | make install-config |
Instalamos los ficheros de configuración del servidor web Apache
1 2 3 | make install-webconf
a2enmod rewrite
a2enmod cgi |
En las dos últimas líneas habilitamos los módulos “rewrite” y “cgi”, en el servidor web Apache.
Configuración del corta fuegos
Necesitamos tenemos habilitado en el servidor el puerto 80 en el cortafuegos, para así poder acceder vía web.
1 2 | iptables -I INPUT -p tcp --destination-port 80 -j ACCEPT apt install -y iptables-persistent |
Creamos el usuario nagiosadmin
Debemos crear el usuario para acceder a la web, utilizando el servidor web Apache
Para ellos debemos ejecutar la siguiente línea:
1 | htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin |
Debemos encender el servidor web Apache
1 | systemctl restart apache2.service |
Para posteriormente encender el servicio de Nagios
1 | systemctl start nagios.service |
Instalación de Nagios Plugins
Para sacar todo su jugo al producto debemos instalar los plugins de Nagios.
Actualmente están en la versión 2.2.1, aunque podemos saber si hay alguna versión más actual revisando su página de GitHub
Para poder instalarlos, al igual que en Core de Nagios, debemos instalar unos paquetes para cumplir con los requisitos:
1 2 | apt install -y autoconf gcc libc6 libmcrypt-dev make libssl-dev apt install -y wget bc gawk dc build-essential snmp libnet-snmp-perl gettext |
Descargamos la última versión desde los repositorios oficiales:
1 2 3 4 | cd /tmp wget --no-check-certificate -O nagios-plugins.tar.gz \ https://github.com/nagios-plugins/nagios-plugins/archive/release-2.2.1.tar.gz tar zxf nagios-plugins.tar.gz |
Compilamos e instalamos:
1 2 3 4 5 | cd /tmp/nagios-plugins-release-2.2.1/ ./tools/setup ./configure make make install |
Reiniciamos el servicio de Nagios
1 | systemctl restart nagios.service |
Y esto es todo. Ahora ya podemos ir al navegador web y acceder a Nagios, por ejemplo en la URL http://url-de-prueba/nagios
Instalación de NRPE
Una pieza fundamental para poder operar con otros hosts y sus servicios desde el servidor central de Nagios, es el addon NRPE. Este nos permitirá comunicarnos con otros servidores.
Su instalación no es complicada. Hay que instalarlo en los clientes que queremos monitorizar.
Sería así.
Instalar plugin de Nagios en cliente
Recuerda que los requisitos son los mismo de antes.
1 2 | cd /tmp wget http://nagios-plugins.org/download/nagios-plugins-2.2.1.tar.gz |
Descomprimirmos el fichero comprimido y compilamos:
1 2 3 4 5 6 | tar xzf nagios-plugins-2.2.1.tar.gz cd nagios-plugins-2.2.1 gunzip -c nagios-plugins-2.2.1.tar.gz | tar xf - ./configure make make install |
Creamos usuarios, grupos y asignamos permisos y propietarios:
1 2 3 4 5 | useradd nagios groupadd nagios usermod -a -G nagios nagios chown nagios.nagios /usr/local/nagios chown -R nagios.nagios /usr/local/nagios/libexec |
NRPE utiliza para funcionar el servicio xinetd, del que ya hablé en su día, por lo que lo tenemos que instalar:
1 2 3 | apt install xinetd systemctl start xinetd systemctl enable xinetd |
Instalación de NRPE
Si queremos utilizar NRPE como servicio o «daemon», seguiremos estos pasos.
Descargamos los ficheros de NRPE, posteriormente descomprimimos y compilamos.
1 2 3 4 5 6 7 8 9 | cd /tmp wget https://github.com/NagiosEnterprises/nrpe/releases/download/nrpe-3.2.1/nrpe-3.2.1.tar.gz tar xvf nrpe-3.2.1.tar.gz cd nrpe-nrpe-3.2.1 ./configure make all make install make install-config make install-inetd |
Nos debemos cerceriorar que en el fichero «/etc/services«, exite esta línea:
1 | 5666/tcp |
Encendemos el servicio NRPE y reiniciamos Xinetd
1 2 3 | systemctl enable nrpe
systemctl start nrpe
systemctl restart xinetd |
Y esto es todo. Espero que os sea de utilidad en algún momento. Nos vamos leyendo.
Fuentes consultadas:
Nagios Core – Installing Nagios Core from source in Debian
Muy buen aporte, soy muy fan de debian, y también trasteo bastante con la rasperry, esto me viene de perlas para recordar el uso de Nagios, muchas gracias.
Hola colega,
Espero que te sea de utilidad. Ya contarás que tal la experiencia.
Saludos!!
Muy bueno david, gracias.
Gracias! Esa es la intención.
Hola y gracias por el manual
Lo he seguido al pie de la letra y intentar acceder a la pagina web /nagios del servidor , despues de poner el user y pass, unicamente se produce la descarga de un documento pero no se abre ninguna pagina con contenido
Tienes idea de cual puede ser el problema?
Gracias.
Un Saludo
Hola,
¿Has instalado todas las piezas del servidor web?
Por ejemplo:
apt install -y unzip apache2 apache2-utils php libgd-dev
Ya me dices.
Saludos
Si he seguido todos los pasos, pero no me funciona.
Tambien te digo que el apache2 lo tenia instalado previamente ya que estoy aprovechando un servidor en el que ya lo tenia instalado
Hola,
¿Tienes instalado PHP?
Dime por favor que versión tienes instalada, escribiendo en la consola : ‘php -v’
Saludos
Hola, gracias por el dato, pero tengo mi siguiente consulta. No se si se pueda realizar… y si es que se puede… como poder hacerlo…
Tengo dos servidores nagios, cada uno cuenta con al rededor de 6000 maquinas cada uno y monitotra alrededor de 12mil servicio cada uno… aprox.
El problema que tengo que estar saltando de una consola a otra y mi intención y aquí es donde viene la pregunta… ¿sé puede fusionar?
Es decir, tener tres máquinas, dos que cuenta con la administración de los hosts y servicios y la tercera que sea de consola de monitoreo…
¿Sé entiende?
Hola,
Adjunto dos enlaces que quizás te puedan servir. Uno es para Nagios Fuscion, un producto de pago, y el otro es para Nagios MNTOS, que es gratuito.
https://www.nagios.com/products/nagios-fusion/
https://exchange.nagios.org/directory/Addons/Frontends-%28GUIs-and-CLIs%29/Web-Interfaces/MNTOS/details
Espero que te sirvan de ayuda.
Saludos
todo perfecto gracias, ningun problema.. llevaba dias probando con icinga pero hay muy poca documentacion, voy a probar con nagios.
solo he encontrado una falla (tal vez antes era valido).
en el ultimo paso, no es «systemctl enable nrpe» , si no : «systemctl enable nagios-nrpe-server»