Nagios es una herramienta de monitoreo gratuita y de código abierto que nos ayuda a monitorear servicios y aplicaciones que se ejecutan en Windows, Linux, enrutadores y otros dispositivos de red.
Con la ayuda de la interfaz gráfica de Nagios, puede monitorear servicios básicos (FTP, HTTP, SSH, etc.) y atributos (carga del sistema, memoria, uso de CPU, etc.).
En esta publicación, veremos cómo instalar Nagios en CentOS 8 / RHEL 8 y cómo monitorear los servicios de la aplicación con los complementos de Nagios.
Requisitos
Nagios requiere servidor web (httpd), PHP, compiladores y bibliotecas de desarrollo.
Instale todos los paquetes en un solo comando.
yum -y install httpd php gcc glibc glibc-common wget perl gd gd-devel unzip zip tar
Cree un usuario y un grupo para permitir que los comandos externos se ejecuten a través de la interfaz web. Agregue el usuario y el usuario de apache para que formen parte del grupo creado.
useradd nagios groupadd nagcmd usermod -a -G nagcmd nagios usermod -a -G nagcmd apache
Instalar Nagios
Descarga Nagios Core desde el sitio oficial usando la terminal.
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/
Compile e instale el núcleo de Nagios en su sistema.
./configure --with-nagios-group=nagios --with-command-group=nagcmd make all make install make install-init make install-config make install-commandmode
Instalar la interfaz web de Nagios
Instale la interfaz web de Nagios con el siguiente comando.
make install-webconf
Cree una cuenta de usuario (nagiosadmin) para la interfaz web de Nagios. Recuerde la contraseña que estableció para este usuario; la necesitará más adelante.
htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
Reinicie el servidor web Apache.
systemctl restart httpd systemctl enable httpd
Configurar Nagios
Nagios coloca los archivos de configuración en el directorio /usr/local/nagios/etc. Las configuraciones predeterminadas deberían funcionar bien para Nagios.
Haremos solo un 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 de nagiosadmin a su dirección de correo electrónico para recibir alertas.
vi /usr/local/nagios/etc/objects/contacts.cfg
Reemplace el campo de la 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 [email protected] ; <<***** CHANGE THIS TO YOUR EMAIL ADDRESS ****** }
Instalar complementos de Nagios
Descargue los complementos de Nagios en el directorio /tmp y extráigalo.
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/
Compile e instale los complementos de Nagios.
./configure --with-nagios-user=nagios --with-nagios-group=nagios make make install
Iniciar Nagios
Verifique los archivos de configuración de muestra de Nagios.
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
Salida:
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, inicie el servicio Nagios.
systemctl start nagios
Habilite Nagios al iniciar el sistema.
systemctl enable nagios
Verifique el estado del servicio de Nagios con el siguiente comando.
systemctl status nagios
SELinux
Vea si SELinux está en modo de Cumplimiento.
getenforce
Cambie el modo SELinux a Permisivo o desactívelo.
setenforce 0
Para hacer que este modo SELinux sea permanente, modifique /etc/selinux/config y reinicie el sistema.
Cortafuegos
Cree una regla de firewall para permitir el acceso al servidor web a través del firewall.
firewall-cmd --permanent --add-service=http firewall-cmd --reload
Acceder a la interfaz web de Nagios
Acceda a la interfaz web de Nagios usando la siguiente URL.
http://ip-add-re-ss/nagios/Deberá usar el nombre de usuario (nagiosadmin) y la contraseña que especificó anteriormente para acceder a la interfaz web de Nagios.
La consola de Nagios se verá como se muestra a continuación.
Después de iniciar sesión en la interfaz web de Nagios, haga clic en Hosts en el panel izquierdo para ver una lista de los sistemas supervisados por Nagios.
Dado que no hemos agregado ningún host a Nagios, solo monitorea el propio host local.
Haga clic en Servicios en el panel izquierdo para verificar el estado de cualquier servicio que se esté monitoreando con Nagios.
Conclusión
En esta publicación, aprendió cómo instalar Nagios en CentOS 8 / RHEL 8 y configuró Nagios para monitorear los servicios con la ayuda de los complementos de Nagios. En este momento, Nagios monitorea el propio servidor. También puede monitorear el sistema Linux remoto con Nagios con el complemento NRPE.