Cómo instalar el software de monitoreo Nagios en Ubuntu 20.04 LTS

Compilar Nagios

Nagios es un software de código abierto para el monitoreo de sistemas y redes. Nagios puede monitorear la actividad de un host y sus servicios y proporciona una advertencia/alerta si sucede algo malo en el servidor. Nagios puede ejecutarse en sistemas operativos Linux y usaremos el servidor Ubuntu 20.04.

En este tutorial, le mostraremos paso a paso la instalación de Nagios 4.4.x en Ubuntu 20.04. Instalaremos Nagios Core 4.4.x desde la fuente, instalaremos los complementos nrpe y nagios, y luego agregaremos host para monitorear al servidor Nagios.

requisitos previos

  • 2 servidores Ubuntu 20.04
    • Servidor Nagios – nombre de host: nagios20 con IP: 172.16.0.5
    • Cliente Ubuntu – nombre de host: client01 con una IP: 172.16.0.6
  • Privilegios de ra√≠z

Lo que haremos:

  • Instalar dependencias de paquetes
  • Instalar Nagios Core 4.4.6
  • Instale el complemento Nagios y el complemento NRPE
  • Agregar host a monitor al servidor Nagios
  • Pruebas

Paso 1: instalar las dependencias de los paquetes

Primero, actualizaremos el repositorio de Ubuntu e instalaremos algunas dependencias de paquetes para la instalación de Nagios.

Actualice el repositorio de Ubuntu usando el comando apt a continuación.

sudo apt update

Después de eso, instale las dependencias de los paquetes para la instalación de Nagios.

sudo apt install -y autoconf bc gawk dc build-essential gcc libc6 make wget unzip apache2 php libapache2-mod-php libgd-dev libmcrypt-dev make libssl-dev snmp libnet-snmp-perl gettext

Y ha instalado dependencias de paquetes para el servidor Nagios.

Paso 2: instale Nagios Core 4.4.6

En este paso, instalaremos la √ļltima versi√≥n estable de Nagios Core 4.4.6. Y lo instalaremos manualmente desde la fuente.

– Descargar Nagios Core 4.4.6

Vaya a su directorio de inicio y descargue el código fuente de Nagios Core.

cd ~/
wget https://github.com/NagiosEnterprises/nagioscore/archive/nagios-4.4.6.tar.gz

Extraiga el paquete de Nagios y vaya al directorio de Nagios extraído.

tar -xf nagios-4.4.6.tar.gz
cd nagioscore-*/

– Compilar e Instalar Nagios

Primero, compile el código fuente de Nagios y defina la configuración de host virtual de Apache para Nagios.

sudo ./configure --with-httpd-conf=/etc/apache2/sites-enabled
sudo make all

Compilar Nagios

Cree el usuario y el grupo de Nagios y agregue el usuario de Apache ‘www-data’ al grupo ‘nagios’.

sudo make install-groups-users
sudo usermod -a -G nagios www-data

Nagios Agregar usuario y grupo

Instale los binarios de Nagios, la secuencia de comandos del demonio de servicio y el modo de comando.

sudo make install
sudo make install-daemoninit
sudo make install-commandmode

Después de eso, instale la configuración del script de muestra.

sudo make install-config

Luego instale la configuración de Apache para Nagios y active los módulos mod_rewrite y mode_cgi.

sudo make install-webconf
sudo a2enmod rewrite cgi

Ahora reinicie el servicio de Apache.

systemctl restart apache2

Y ha instalado Nagios Core 4.4.6.

Compilar Nagioscore

– Crear usuario nagiosadmin

Después de instalar Nagios Core, agregaremos la autenticación básica para acceder al panel de control de Nagios. Y usaremos la autenticación básica de Apache.

Cree una nueva autenticaci√≥n b√°sica de apache para el usuario ¬ęnagiosadmin¬Ľ.

sudo htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin

Escriba su contrase√Īa segura.

Crear usuario administrador de Nagios

Y ha creado un nuevo usuario ‘nagiosadmin’ para la autenticaci√≥n del panel de control de Nagios.

– Configurar el cortafuegos UFW

Para la configuración del firewall, deberá agregar el servicio Apache y el puerto del servidor Nagios al firewall UFW.

Agregue el puerto HTTP SSH y Apache usando el comando ufw a continuación.

for svc in Apache ssh
do
ufw allow $svc
done

A continuación, inicie el servicio de firewall UFW y agréguelo al inicio del sistema.

ufw enable

Escribe ‘y‘ y el servicio de firewall UFW se activar√°.

Ahora verifique todas las reglas disponibles usando el siguiente comando.

ufw status numbered

Ahora obtendr√° los servicios SSH y Apache agregados al firewall UFW.

Agregar puerto a UFW Firewall

Y finalmente, completó la instalación de Nagios Core en el servidor Ubuntu 20.04.

Paso 3: instale los complementos de Nagios y el complemento NRPE

Después de instalar Nagios Core, instalaremos los complementos de Nagios y los complementos de NRPE.

Tanto los complementos de Nagios como los de NRPE están disponibles de forma predeterminada en el repositorio de Ubuntu. Puede instalar esos paquetes usando el comando apt a continuación.

sudo apt install monitoring-plugins nagios-nrpe-plugin

Una vez completada la instalaci√≥n, vaya al directorio de instalaci√≥n de nagios ¬ę/usr/local/nagios/etc¬Ľ y cree un nuevo directorio para almacenar toda la configuraci√≥n de los hosts del servidor.

cd /usr/local/nagios/etc
mkdir -p /usr/local/nagios/etc/servers

Luego, edite la configuraci√≥n de Nagios ‘nagios.cfg’ usando el editor vim.

vim nagios.cfg

Quite el comentario de la opci√≥n ‘cfg_dir’ que se usar√° para ordenar todas las configuraciones de hots del servidor.

cfg_dir=/usr/local/nagios/etc/servers

Guardar y cerrar.

A continuaci√≥n, edite el archivo de configuraci√≥n ¬ęresource.cfg¬Ľ y defina la ruta de los archivos binarios de los complementos de monitoreo de Nagios.

vim resource.cfg

Defina la ruta de los complementos de monitoreo de Nagios cambiando la configuración predeterminada como se muestra a continuación.

$USER1$=/usr/lib/nagios/plugins

Guardar y cerrar.

Despu√©s de eso, agregue los contactos de correo electr√≥nico del administrador de nagios editando el archivo de configuraci√≥n ¬ęobjects/contacts.cfg¬Ľ.

vim objects/contacts.cfg

Cambia la dirección de correo electrónico por la tuya.

define contact{
        ......
        email             [email protected]
}

Guardar y cerrar.

Ahora defina el comando de verificaci√≥n nrpe editando el archivo de configuraci√≥n ¬ęobjects/commands.cfg¬Ľ.

vim objects/commands.cfg

Agregue la siguiente configuración al final de la línea.

define command{
        command_name check_nrpe
        command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
}

Guarde y cierre, y la configuración de Nagioscore se habrá completado.

A continuación, inicie el servicio de Nagios y agréguelo al inicio del sistema.

systemctl start nagios
systemctl enable nagios

Configurar los complementos NRPE de Nagios

El servicio de Nagios está en funcionamiento, compruébelo con el siguiente comando.

systemctl status nagios

A continuación se muestra el resultado.

Comprobar el servicio de Nagios

Como resultado, el servicio de Nagios está en funcionamiento. Ahora necesitamos reiniciar el servicio de Apache para aplicar una nueva configuración de Nagios.

systemctl restart apache2

Y la configuración de Nagios se ha completado.

Abra su navegador web y escriba la direcci√≥n IP del servidor siguiendo la ruta URL de ¬ęnagios¬Ľ.

http://172.16.0.5/nagios/

Inicie sesi√≥n con el usuario ¬ęnagiosadmin¬Ľ y escriba su contrase√Īa.

Iniciar sesión en el servidor de Nagios

Y obtendrá el Panel de Nagios como se muestra a continuación.

Panel de control de Nagios

Como resultado, instaló Nagios en el servidor Ubuntu 20.04. Y puede agregar hosts al servidor Nagios.

Paso 5: agregue el host Linux al monitor

En este paso, agregaremos el servidor Ubuntu con el nombre de host ¬ęclient01¬Ľ y la direcci√≥n IP ¬ę172.16.0.6¬Ľ al servidor Nagios.

– Instalar el servidor NRPE en el servidor Client01

Inicie sesi√≥n en el servidor ¬ęclient01¬Ľ usando su ssh.

ssh [email protected]

Una vez que haya iniciado sesión, actualice el repositorio de Ubuntu e instale los complementos de Nagios y el servidor NRPE.

sudo apt update
sudo apt install nagios-nrpe-server monitoring-plugins

A continuaci√≥n, vaya al directorio de instalaci√≥n de NRPE ¬ę/etc/nagios¬Ľ y edite el archivo de configuraci√≥n ¬ęnrpe.cfg¬Ľ.

cd /etc/nagios/
vim nrpe.cfg

Descomente la l√≠nea ¬ęserver_address¬Ľ y cambie el valor con la direcci√≥n IP ¬ęclient01¬Ľ.

server_address=172.16.0.6

En la l√≠nea ¬ęallowed_hosts¬Ľ, agregue la direcci√≥n IP del servidor Nagios ¬ę172.16.0.5¬Ľ.

allowed_hosts=127.0.0.1,::1,172.16.0.5

Guardar y cerrar.

A continuaci√≥n, edite la configuraci√≥n ¬ęnrpe_local.cfg¬Ľ.

vim nrpe_local.cfg

Cambie la direcci√≥n IP con la direcci√≥n IP ¬ęclient01¬Ľ y pegue la configuraci√≥n en ella.

command[check_root]=/usr/lib/nagios/plugins/check_disk -w 20% -c 10% -p /
command[check_ping]=/usr/lib/nagios/plugins/check_ping -H 172.16.0.6 -w 100.0,20% -c 500.0,60% -p 5
command[check_ssh]=/usr/lib/nagios/plugins/check_ssh -4 172.16.0.6
command[check_http]=/usr/lib/nagios/plugins/check_http -I 172.16.0.6
command[check_apt]=/usr/lib/nagios/plugins/check_apt

Guardar y cerrar.

Ahora reinicie el servicio NRPE y agréguelo al arranque del sistema.

systemctl restart nagios-nrpe-server
systemctl enable nagios-nrpe-server

Y el servidor Nagios NRPE est√° en funcionamiento.

Agregar host a Nagios

Verifique el servicio NRPE usando el siguiente comando.

systemctl status nagios-nrpe-server

El servicio NRPE est√° en funcionamiento.

Comprobar el servicio NRPE de Nagios

Luego, regrese al servidor Nagios y verifique el servidor NRPE ¬ęclient01¬Ľ.

/usr/lib/nagios/plugins/check_nrpe -H 172.16.0.6
/usr/lib/nagios/plugins/check_nrpe -H 172.16.0.6 -c check_ping

Y obtendr√° el resultado de la siguiente manera.

Verifique el estado de NRPE

Y ha instalado el servidor Nagios NRPE y los complementos de Nagios en el host ¬ęclient01¬Ľ.

РAgregar configuración de hosts al servidor Nagios

Vuelva a la terminal del servidor Nagios, vaya al directorio ¬ę/usr/local/nagios/etc¬Ľ y cree una nueva configuraci√≥n ¬ęserver/client01.cfg¬Ľ.

cd /usr/local/nagios/etc
vim servers/client01.cfg

Cambie la dirección IP y el nombre de host por los suyos y pegue la configuración en él.

# Ubuntu Host configuration file1

define host {
use                          linux-server
host_name                    client01
alias                        Ubuntu Host
address                      172.16.0.6
register                     1
}

define service {
host_name                       client01
service_description             PING
check_command                   check_nrpe!check_ping
max_check_attempts              2
check_interval                  2
retry_interval                  2
check_period¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬† 24×7
check_freshness                 1
contact_groups                  admins
notification_interval           2
notification_period¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬† 24×7
notifications_enabled           1
register                        1
}

define service {
host_name                       client01
service_description             Check Users
check_command                   check_nrpe!check_users
max_check_attempts              2
check_interval                  2
retry_interval                  2
check_period¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬† 24×7
check_freshness                 1
contact_groups                  admins
notification_interval           2
notification_period¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬† 24×7
notifications_enabled           1
register                        1
}

define service {
host_name                       client01
service_description             Check SSH
check_command                   check_nrpe!check_ssh
max_check_attempts              2
check_interval                  2
retry_interval                  2
check_period¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬† 24×7
check_freshness                 1
contact_groups                  admins
notification_interval           2
notification_period¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬† 24×7
notifications_enabled           1
register                        1
}

define service {
host_name                       client01
service_description             Check Root / Disk
check_command                   check_nrpe!check_root
max_check_attempts              2
check_interval                  2
retry_interval                  2
check_period¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬† 24×7
check_freshness                 1
contact_groups                  admins
notification_interval           2
notification_period¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬† 24×7
notifications_enabled           1
register                        1
}

define service {
host_name                       client01
service_description             Check APT Update
check_command                   check_nrpe!check_apt
max_check_attempts              2
check_interval                  2
retry_interval                  2
check_period¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬† 24×7
check_freshness                 1
contact_groups                  admins
notification_interval           2
notification_period¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬† 24×7
notifications_enabled           1
register                        1
}

define service {
host_name                       client01
service_description             Check HTTP
check_command                   check_nrpe!check_http
max_check_attempts              2
check_interval                  2
retry_interval                  2
check_period¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬† 24×7
check_freshness                 1
contact_groups                  admins
notification_interval           2
notification_period¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬† 24×7
notifications_enabled           1
register                        1
}


Guardar y cerrar.

Ahora reinicie el servidor Nagios.

systemctl restart nagios

Agregar host al servidor Nagios

Paso 5 – Prueba

Vuelva a su navegador y espere unos minutos.

Haga clic en el ¬ęHospedadores¬Ľ men√ļ y obtendr√° el ¬ęcliente01¬Ľ se ha agregado.

Agregar host a Nagios

A continuaci√≥n se muestran los detalles de la supervisi√≥n del servidor ¬ęclient01¬Ľ.

Monitoreo de servicios de Nagios

Ahora ha agregado Host para monitorear al servidor Nagios.

Y la instalación de Nagios 4.4.6 en Ubuntu 20.04 Server se completó con éxito.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *