
Nagios es un sistema de monitorización de redes ampliamente utilizado, de código abierto, que vigila los equipos y servicios que se especifiquen, alertando cuando el comportamiento de los mismos no sea el deseado.
Según Ethan Galstad en el FAQ oficial del sitio de Nagios, N.A.G.I.O.S. es un acrónimo recursivo: «Nagios Ain’t Gonna Insist On Sainthood» (Nagios no va a insistir en la santidad). Es una referencia a la encarnación original del software bajo el nombre de Netsaint, el cual tuvo que ser cambiado por ser supuestamente similar a un nombre comercial. «Agios» significa «santo» en griego.
Aprendí a instalarlo y configurarlo para monitorear máquinas Windows. Esto por un requerimiento de mi trabajo. en otra entrada publicara como monitorear máquinas GNU/Linux.
Para este taller utilizare un equipo Centos8 y la última versión de Nagios Core (que es la versión gratuita de esta herramienta).
Paso 1: Preparar el S.O.
Como ya les comente para este tutorial emplearemos CentOS8 y debemos instalar las siguientes dependencias.
yum -y install httpd php gcc glibc glibc-common wget perl gd gd-devel unzip zip tar
Crearemos un usuario y un grupo para permitir que los comandos externos se ejecuten a través de la interfaz web. Luego Agreguaremos el usuario que hemos creado y el usuario de apache para formar parte del grupo creado.
useradd nagios groupadd nagcmd usermod -a -G nagcmd nagios usermod -a -G nagcmd apache
Instalar Nagios
Ahora descargaremos la última versión de Nagios Core. Para mi caso al momento de desarrollar este tutorial la versión disponible es la nagios-4.4.5
cd /tmp/ wget https://assets.nagios.com/downloads/nagioscore/releases/nagios-4.4.5.tar.gz tar -zxvf nagios-4.4.5.tar.gz cd /tmp/nagios-4.4.5/
Ahora nos toca compilar Nagios
./configure --with-nagios-group=nagios --with-command-group=nagcmd make all make install make install-init make install-config make install-commandmode
Instalar Nagios Interface WEB
make install-webconf
Crear una cuenta de usuario (nagiosadmin) para la interfaz web de Nagios. Recuerde la contraseña que configuró para este usuario; la necesitará más adelante.
htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
Por último reiniciamos Apache.
systemctl restart httpd systemctl enable httpd
Configurar Nagios Core.
Nagios coloca los archivos de configuración en el directorio /usr/local/nagios/etc. Haremos un solo cambio antes de continuar.
Edite el archivo de configuración /usr/local/nagios/etc/objects/contacts.cfg y cambie la dirección de correo electrónico asociada con la definición de contacto nagiosadmin a su dirección de correo electrónico para recibir alertas.
vim /usr/local/nagios/etc/objects/contacts.cfg
Reemplace el campo de dirección de correo electrónico para recibir la notificación.
define contact { contact_name nagiosadmin ; Short name of user use generic-contact ; Inherit default values from generic-contact template (defined above) alias Nagios Admin ; Full name of user email admin@itzgeek.com ; <<***** CHANGE THIS TO YOUR EMAIL ADDRESS ****** }
Instalar Plugins para Nagios
Descargamos el plugins en la ruta /tmp/ y luego lo descomprimimos.
cd /tmp wget https://nagios-plugins.org/download/nagios-plugins-2.2.1.tar.gz tar -zxvf nagios-plugins-2.2.1.tar.gz cd /tmp/nagios-plugins-2.2.1/
Compilamos los plugins.
./configure --with-nagios-user=nagios --with-nagios-group=nagios make make install
Iniciamos Nagios Core.
Primero verificaremos que todo este OK, según configuración de fábrica.
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
El resultado debe ser similar a lo siguiente:
Nagios Core 4.4.5 Copyright (c) 2009-present Nagios Core Development Team and Community Contributors Copyright (c) 1999-2009 Ethan Galstad Last Modified: 2019-08-20 License: GPL Website: https://www.nagios.org Reading configuration data... Read main config file okay... Read object config files okay... Running pre-flight check on configuration data... Checking objects... Checked 8 services. Checked 1 hosts. Checked 1 host groups. Checked 0 service groups. Checked 1 contacts. Checked 1 contact groups. Checked 24 commands. Checked 5 time periods. Checked 0 host escalations. Checked 0 service escalations. Checking for circular paths... Checked 1 hosts Checked 0 service dependencies Checked 0 host dependencies Checked 5 timeperiods Checking global event handlers... Checking obsessive compulsive processor commands... Checking misc settings... Total Warnings: 0 Total Errors: 0 Things look okay - No serious problems were detected during the pre-flight check
Si no hay errores reiniciamos el servicio.
systemctl start nagios
Habilitamos Nagios en el inicio de sesión.
systemctl enable nagios
Por último verificamos que el servicio se encuentre funcionando.
systemctl status nagios
Configurando SELinux
getenforce setenforce 0
Configurando el Firewall
firewall-cmd --permanent --add-service=http firewall-cmd --reload
Accedemos a Nagios Core
Atribuciones:
Vector de Banner creado por vectorpouch – www.freepik.es
https://www.itzgeek.com/how-tos/linux/centos-how-tos/how-to-install-nagios-4-4-3-on-rhel-8.html