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

Nagios es un software de código abierto para la monitorización de sistemas y redes. Nagios puede monitorizar la actividad de un host y sus servicios y proporciona un aviso/alerta si algo malo ocurre en el servidor. Nagios puede funcionar en sistemas operativos Linux, y nosotros utilizaremos el servidor Ubuntu 20.04.

En este tutorial, te mostraremos paso a paso la instalación de Nagios 4.4.x en Ubuntu 20.04. Instalaremos el núcleo de Nagios 4.4.x desde el código fuente, instalaremos los plugins nrpe y nagios, y luego añadiremos el host a monitorizar al servidor Nagios.

Requisitos previos

  • 2 Servidores Ubuntu 20.04
    • Servidor Nagios – nombre de host: nagios20 con una IP: 172.16.0.5
    • Cliente Ubuntu – nombre de host: client01 con una IP: 172.16 .0.6
  • Privilegios de root

Qué vamos a hacer

  • Instalar las dependencias de los paquetes
  • Instalar el núcleo de Nagios 4.4.6
  • Instalar el plugin de Nagios y el plugin NRPE
  • Añadir el host a monitorizar al servidor de Nagios
  • Probar

Paso 1 – Instalar las dependencias de los paquetes

En primer lugar, actualizaremos el repositorio de Ubuntu e instalaremos algunas dependencias de los paquetes para la instalación de Nagios.

Actualiza el repositorio de Ubuntu utilizando el comando apt que aparece a continuación.

sudo apt update

Después, instala 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 ya has instalado las dependencias de los paquetes para el servidor Nagios.

Paso 2 – Instalar Nagios Core 4.4.6

En este paso, instalaremos la última versión estable Nagios Core 4.4.6. Y lo instalaremos manualmente desde la fuente.

– Descarga Nagios Core 4.4.6

Ve a tu directorio principal y descarga el código fuente de Nagios Core.

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

Extrae el paquete Nagios y ve al directorio Nagios extraído.

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

– Compilar e instalar Nagios

Primero, compila el código fuente de Nagios y define la configuración del host virtual de Apache para Nagios.

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

Compilar Nagios

Crea el usuario y el grupo de Nagios, y añade el usuario de Apache ‘www-data’ al grupo ‘nagios’.

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

Nagios Añadir Usuario y Grupo

Instala los binarios de Nagios, el script demonio de servicio y el modo de comando.

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

Después, instala la configuración del script de ejemplo.

sudo make install-config

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

sudo make install-webconf
sudo a2enmod rewrite cgi

Ahora reinicia el servicio de Apache.

systemctl restart apache2

Y ya has instalado el núcleo de Nagios 4.4.6.

Compilar Nagioscore

– Crea el usuario nagiosadmin

Después de instalar el Nagios Core, vamos a añadir la autenticación básica para acceder al panel de control de Nagios. Y utilizaremos la autenticación básica de Apache.

Crea una nueva autenticación básica de Apache para el usuario «nagiosadmin».

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

Escribe tu contraseña fuerte.

Crear el usuario Nagios Admin

Y habrás creado un nuevo usuario «nagiosadmin» para la autenticación del panel de control de Nagios.

– Configurar el cortafuegos UFW

Para la configuración del cortafuegos, tendrás que añadir el servicio Apache y el puerto del servidor Nagios al cortafuegos de UFW.

Añade el puerto SSH y el puerto HTTP de Apache utilizando el comando ufw que aparece a continuación.

for svc in Apache ssh
do
ufw allow $svc
done

A continuación, inicia el servicio del cortafuegos UFW y añádelo al arranque del sistema.

ufw enable

Escribe«y» y el servicio de cortafuegos UFW se activará.

Ahora comprueba todas las reglas disponibles utilizando el siguiente comando.

ufw status numbered

Ahora tendrás los servicios SSH y Apache añadidos al cortafuegos UFW.

Añadir puerto al cortafuegos UFW

Y finalmente, habrás completado la instalación de Nagios Core en el servidor Ubuntu 20.04.

Paso 3 – Instalar los plugins de Nagios y el plugin NRPE

Después de instalar el núcleo de Nagios, vamos a instalar los plugins de Nagios y los plugins de NRPE.

Tanto los plugins de Nagios como los de NRPE están disponibles por defecto en el repositorio de Ubuntu. Puedes instalar esos paquetes con el comando apt que aparece a continuación.

sudo apt install monitoring-plugins nagios-nrpe-plugin

Una vez completada la instalación, ve al directorio de instalación de nagios «/usr/local/nagios/etc» y crea un nuevo directorio para almacenar la configuración de todos los hosts del servidor.

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

A continuación, edita la configuración de Nagios ‘nagios.cfg’ utilizando el editor vim.

vim nagios.cfg

Descomenta la opción ‘cfg_dir’ que se utilizará para almacenar todas las configuraciones de los servidores.

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

Guarda y cierra.

A continuación, edita el archivo de configuración «resource.cfg» y define la ruta de los archivos binarios de los plugins de monitorización de Nagios.

vim resource.cfg

Define la ruta de los Plugins de Monitorización de Nagios cambiando la configuración por defecto como se indica a continuación.

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

Guarda y cierra.

Después, añade 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]
}

Guarda y cierra.

Ahora define el comando nrpe check editando el archivo de configuración «objects/commands.cfg».

vim objects/commands.cfg

Añade 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$
}

Guarda y cierra, y la configuración de Nagioscore se habrá completado.

A continuación, inicia el servicio Nagios y añádelo al arranque del sistema.

systemctl start nagios
systemctl enable nagios

Configurar los plugins de Nagios NRPE

El servicio Nagios está en marcha, compruébalo con el siguiente comando.

systemctl status nagios

A continuación se muestra el resultado.

Comprobar el servicio de Nagios

El resultado es que el servicio Nagios está en funcionamiento. Ahora tenemos que reiniciar el servicio Apache para aplicar una nueva configuración de Nagios.

systemctl restart apache2

Y la configuración de Nagios se ha completado.

Abre tu navegador web y escribe la dirección IP del servidor siguiendo la ruta URL «nagios».

http://172.16.0.5/nagios/

Accede con el usuario «nagiosadmin» y escribe tu contraseña.

Iniciar sesión en el servidor de Nagios

Y obtendrás el panel de control de Nagios como el que aparece a continuación.

Panel de control de Nagios

Como resultado, has instalado Nagios en el servidor Ubuntu 20.04. Y podrás añadir hosts al servidor Nagios.

Paso 5 – Añadir el host Linux al monitor

En este paso, añadiremos 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

Inicia sesión en el servidor «client01» utilizando tu ssh.

ssh [email protected]

Una vez que hayas entrado, actualiza el repositorio de Ubuntu e instala los plugins de Nagios y el servidor NRPE.

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

A continuación, ve al directorio de instalación de NRPE «/etc/nagios» y edita el archivo de configuración «nrpe.cfg».

cd /etc/nagios/
vim nrpe.cfg

Descomenta la línea «server_address» y cambia el valor por la dirección IP «client01».

server_address=172.16.0.6

En la línea «allowed_hosts», añade la dirección IP del servidor de Nagios «172.16.0.5».

allowed_hosts=127.0.0.1,::1,172.16.0.5

Guarda y cierra.

A continuación, edita la configuración «nrpe_local.cfg».

vim nrpe_local.cfg

Cambia la dirección IP por la dirección IP «client01» y pega 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

Guarda y cierra.

Ahora reinicia el servicio NRPE y añádelo al arranque del sistema.

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

Y el servidor NRPE de Nagios ya está en marcha.

Añadir host a Nagios

Comprueba el servicio NRPE con el siguiente comando.

systemctl status nagios-nrpe-server

El servicio NRPE está en funcionamiento.

Comprobar el servicio NRPE de Nagios

A continuación, vuelve al servidor Nagios y comprueba 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ás el resultado que se muestra a continuación.

Comprobar el estado del NRPE

Y habrás instalado el Servidor NRPE de Nagios y los Plugins de Nagios en el host «cliente01».

– Añadir la configuración de los hosts al servidor Nagios

Vuelve al terminal del servidor Nagios, ve al directorio «/usr/local/nagios/etc» y crea una nueva configuración «server/client01.cfg».

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

Cambia la dirección IP y el nombre de host por los tuyos y pega 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                    24x7
      check_freshness                 1
      contact_groups                  admins
      notification_interval           2
      notification_period             24x7
      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                    24x7
      check_freshness                 1
      contact_groups                  admins
      notification_interval           2
      notification_period             24x7
      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                    24x7
      check_freshness                 1
      contact_groups                  admins
      notification_interval           2
      notification_period             24x7
      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                    24x7
      check_freshness                 1
      contact_groups                  admins
      notification_interval           2
      notification_period             24x7
      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                    24x7
      check_freshness                 1
      contact_groups                  admins
      notification_interval           2
      notification_period             24x7
      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                    24x7
      check_freshness                 1
      contact_groups                  admins
      notification_interval           2
      notification_period             24x7
      notifications_enabled           1
      register                        1
}

Guarda y cierra.

Ahora reinicia el Servidor Nagios.

systemctl restart nagios

Añadir un host al servidor de Nagios

Paso 5 – Prueba

Vuelve a tu navegador y espera unos minutos.

Haz clic en el menú«Hosts» y verás que se ha añadido el «cliente01».

Añadir host a Nagios

A continuación se muestran los detalles de la monitorización del servidor «client01».

Nagios services Monitoring

Ahora has añadido el host a monitorizar al servidor Nagios.

Y la instalación de Nagios 4.4.6 en el servidor Ubuntu 20.04 se ha completado con éxito.

Referencia

También te podría gustar...