Cómo instalar Nagios Core en CentOS

Nagios es un software de código abierto para la monitorización de sistemas y redes. Nagios puede supervisar la actividad de un host y sus servicios y proporcionar un aviso/alerta si ocurre algo malo en el servidor. Nagios puede ejecutarse en sistemas operativos Linux, y nosotros utilizaremos el servidor CentOS 8.

Este tutorial te mostrará cómo instalar Nagios Core en un sistema CentOS 8. Instalaremos el Nagios Core 4.4.5 desde el repositorio EPEL y luego añadiremos el monitor del host CentOS 8 al Servidor Nagios.

Requisitos previos

  • 2 servidores CentOS 8
    • Servidor Nagios – nombre de host: hakase-nagios con una IP: 10.5.5.20
    • Cliente CentOS – nombre de host: client01 con una IP: 10.5.5.21
  • Privilegios de root

Qué vamos a hacer

  • Instalar el repositorio EPEL
  • Instalar Nagios Core 4.4.5
  • Instalar el Plugin Nagios y el Plugin NRPE
  • Añadir el Host a Monitorizar al Servidor Nagios
  • Añadir configuración para monitorizar el host
  • Probar

Paso 1 – Instalar el repositorio EPEL

En primer lugar, añadiremos el repositorio EPEL (Extra Package for Enterprise Linux) al sistema CentOS 8. Instalaremos los paquetes Nagios desde el repositorio EPEL.

Instala el repositorio EPEL utilizando el siguiente comando dnf.

sudo dnf install epel-release

Una vez finalizada la instalación, comprueba todos los repositorios disponibles en el sistema.

sudo dnf repolist

Y habrás añadido el repositorio EPEL al sistema CentOS 8.

Paso 2 – Instalar y Configurar Nagios Core

En este paso, instalaremos y configuraremos la última versión estable de Nagios Server 4.4.5 en el sistema CentOS 8. Y utilizaremos el paquete nagios proporcionado por el repositorio EPEL.

Comprueba todos los paquetes disponibles llamados ‘nagios’.

dnf search nagios

A continuación, comprueba los detalles del paquete ‘nagios’.

dnf info nagios

Y obtendrás detalles sobre el paquete nagios como se indica a continuación.

– Instalar y configurar Nagios Core 4.4.5

Ahora instala ‘nagios’ utilizando el siguiente comando dnf.

sudo dnf install nagios

Una vez completada la instalación, ve al directorio ‘/etc/nagios’ y edita el archivo de configuración ‘nagios.cfg’.

cd /etc/nagios/
vim nagios.cfg

Descomenta la siguiente línea.

cfg_dir=/etc/nagios/servers

Guárdalo y ciérralo.

Ahora crea un nuevo directorio para almacenar toda la configuración del monitor del host.

mkdir -p /etc/nagios/servers

Luego edita el archivo de configuración de contactos ‘objects/contacts.cfg’.

vim objects/contacts.cfg

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

email       [email protected]

Guarda y cierra.

Y ya tienes configurado el Servidor Nagios.

– Configurar la autenticación de Nagios

Para la autenticación, Nagios utiliza la autenticación básica httpd proporcionada por el servidor web Apache2.

Ahora crea una nueva autenticación básica apache para el usuario ‘nagiosadmin’ utilizando el comando htpasswd que aparece a continuación.

htpasswd  /etc/nagios/passwd nagiosadmin

Escribe y repite tu contraseña segura, y la autenticación básica para el Servidor Nagios habrá sido creada.

A continuación, ve al directorio ‘/var/www/html’ y crea el archivo index.html.

cd /var/www/html
echo "This is index.html for Apache" > index.html

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

systemctl enable --now httpd
systemctl status httpd

Y ya has creado un nuevo usuario ‘nagiosadmin’ para el Servidor de Nagios.

– Configura el cortafuegos

Añade los nuevos servicios http y https a la lista de servicios firewalld.

firewall-cmd --add-service=http --permanent
firewall-cmd --add-service=https --permanent

Recarga el firewalld.

firewall-cmd --reload

Ahora has añadido los servicios http y https al firewalld. Como resultado, el Servidor Nagios puede ser accesible desde el navegador web.

Paso 3 – Instalar el Plugin NRPE y los Plugins de Nagios

El NRPE (Nagios Remote Plugin Executor) es un agente de Nagios que permite a un sistema remoto ejecutar el script ‘Nagios Plugins’ en el sistema de monitorización remoto.

Instala los Plugins de Nagios y los plugins NRPE utilizando el siguiente comando.

sudo dnf install nagios-plugins nrpe nagios-plugins-nrpe

Una vez completada toda la instalación, instalaremos algunos de los plugins de Nagios para la monitorización básica del servidor, como el servicio ssh, el espacio en disco, el inicio de sesión de usuario, etc.

Para que se completen todos los Plugins Nagios disponibles, ejecuta el siguiente comando.

dnf search nagios-plugins

Ahora puedes instalar los Plugins de Nagios utilizando el comando bash loop que aparece a continuación.

for i in users uptime ssh ping procs load http swap disk; do dnf install nagios-plugins-$i -y; done

Una vez completada la instalación, ve al directorio ‘/etc/nagios’ y edita el archivo de configuración ‘objects/commands.cfg’.

cd /etc/nagios/
vim objects/commands.cfg

Pega 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.

Ahora inicia el servicio Nagios y añádelo al arranque del sistema.

systemctl enable --now nagios

Después, comprueba el estado del servicio Nagios.

systemctl status nagios

Verás que el servicio Nagios está en funcionamiento.

Ahora abre tu navegador web y escribe la URL del Servidor Nagios como se indica a continuación.

http://10.5.5.20/nagios/

Inicia sesión con el usuario ‘nagiosadmin’ y tu contraseña.

Una vez que hayas iniciado sesión, aparecerá el panel de control de Nagios que se muestra a continuación.

Como resultado, habrás instalado el Servidor Nagios 4.4.5 en el sistema CentOS 8.

Paso 4 – Añadir el Host a Monitorizar al Servidor Nagios

En este paso, añadiremos el sistema CentOS 8 al Servidor Nagios. Añadiremos el servidor CentOS 8 ‘client01’ con la dirección IP ‘10.5.5.21’ al Servidor Nagios.

Para añadir el host al Servidor Nagios, tendrás que instalar los Plugins NRPE y Nagios en el servidor.

En el sistema ‘client01’, instala el servidor NRPE utilizando el siguiente comando.

sudo dnf install nrpe

Después, instala algunos de los Plugins de Nagios utilizando el siguiente comando bash loop.

for i in users uptime ssh ping procs load http swap disk; do dnf install nagios-plugins-$i -y; done

Una vez completada la instalación, ve al directorio ‘/etc/nagios’ y edita el archivo de configuración de nrpe ‘nrpe.conf’.

cd /etc/nagios/
vim nrpe.conf

Descomenta la línea ‘server_address’ y cambia el valor por la dirección IP ‘10.5.5.21’ de ‘client01’.

server_address = 10.5.5.71

En la línea ‘allowed_hosts’, añade la dirección IP del Servidor Nagios ‘10.5.5.20’.

allowed_hosts=127.0.0.1,::1,10.5.5.70

Define algún comando Nagios para la monitorización básica como se indica a continuación.

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

Guarda y cierra.

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

systemctl enable --now nrpe

Comprueba el estado del servicio NRPE.

systemctl status nrpe

Verás que el servicio NRPE está en funcionamiento.

A continuación, añade el puerto nrpe al firewalld y recarga la configuración del firewalld.

firewall-cmd --add-port=5666/tcp --permanent
firewall-cmd --reload

Y habrás completado la configuración de NRPE en el monitor host ‘client01’.

Ahora vuelve al terminal del Servidor Nagios y comprueba el host ‘client01’ utilizando el siguiente comando nagios nrpe.

/usr/lib64/nagios/plugins/check_nrpe -H 10.5.5.21
/usr/lib64/nagios/plugins/check_nrpe -H 10.5.5.21 -c check_ping

Como resultado, obtendrás la versión de NRPE en el host ‘client01’ y el comando ping al ‘client01’ habrá tenido éxito.

Paso 5 – Añadir configuración para monitorizar el host

De vuelta al Servidor Nagios, ve al directorio ‘/etc/nagios/server’ y crea una nueva configuración ‘client01.cfg’.

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

Pega en ella la siguiente configuración.

define host {
        use                          linux-server
        host_name                    client01
        alias                        CentOS Host
        address                      10.5.5.12
        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 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
}

Guárdala y ciérrala.

Ahora reinicia el servicio Nagios.

sudo systemctl restart nagios

Y ya habrás añadido la configuración para el host ‘client01’ al Servidor Nagios.

Paso 6 – Pruebas

Abre tu navegador web e inicia sesión en Nagios Dashboard.

http://10.5.5.20/nagios/

Haz clic en el menú ‘Hosts’ y aparecerá ‘client01’ en la lista de hosts.

Ahora haz clic en el nombre del host ‘client01’ y obtendrás detalles sobre la monitorización de servicios para el servidor ‘client01’.

Como resultado, has instalado Nagios 4.4.5 en el sistema CentOS 8, y has añadido el host para monitorizar ‘client01’ al Servidor Nagios.

Referencia

También te podría gustar...