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.