Monitoreo de Servidores · 5 min read · Oct 21, 2025

Cómo instalar el monitoreo del servidor Nagios en Ubuntu 16.04

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 algo malo sucede en el servidor. Nagios puede ejecutarse en sistemas operativos Linux. En este momento, estoy usando Ubuntu 16.04 para la instalación.

Prerrequisitos

  • 2 servidores Ubuntu 16.04 - 64bit - 1 - Host Nagios con IP: 192.168.1.9
  • 2 - Cliente Ubuntu con IP: 192.168.1.10
  • Acceso Root/Sudo

Lo que haremos en este tutorial:

  1. Instalar las dependencias del paquete como - LAMP, etc.
  2. Configuración de usuario y grupo.
  3. Instalación de Nagios.
  4. Configuración de Apache.
  5. Prueba del servidor Nagios.
  6. Agregar un host para monitorear.

Instalando los prerrequisitos

Nagios requiere el compilador gcc y build-essentials para la compilación, LAMP (Apache, PHP, MySQL) para la interfaz web de Nagios y Sendmail para enviar alertas desde el servidor. Para instalar todos esos paquetes, ejecuta este comando (es solo 1 línea):

sudo apt-get install wget build-essential apache2 php apache2-mod-php7.0 php-gd libgd-dev sendmail unzip

Configuración de usuario y grupo

Para que Nagios funcione, debes crear un nuevo usuario para Nagios. Nombraremos al usuario “nagios” y además crearemos un grupo llamado “nagcmd”. Agregamos el nuevo usuario al grupo como se muestra a continuación:

useradd nagios  
groupadd nagcmd  
usermod -a -G nagcmd nagios  
usermod -a -G nagios,nagcmd www-data

Instalando Nagios

Paso 1 - Descargar y extraer el núcleo de Nagios

cd ~  
wget https://assets.nagios.com/downloads/nagioscore/releases/nagios-4.2.0.tar.gz  
tar -xzf nagios*.tar.gz  
cd nagios-4.2.0

Paso 2 - Compilar Nagios

Antes de construir Nagios, tendrás que configurarlo con el usuario y el grupo que creaste anteriormente.

./configure --with-nagios-group=nagios --with-command-group=nagcmd

Para más información, usa: ./configure –help.

Ahora para instalar Nagios:

make all  
sudo make install  
sudo make install-commandmode  
sudo make install-init  
sudo make install-config  
/usr/bin/install -c -m 644 sample-config/httpd.conf /etc/apache2/sites-available/nagios.conf

Y copia el directorio evenhandler al directorio de nagios:

cp -R contrib/eventhandlers/ /usr/local/nagios/libexec/  
chown -R nagios:nagios /usr/local/nagios/libexec/eventhandlers

Paso 3 - Instalar los plugins de Nagios

Descarga y extrae los plugins de Nagios:

cd ~  
wget https://nagios-plugins.org/download/nagios-plugins-2.1.2.tar.gz  
tar -xzf nagios-plugins*.tar.gz  
cd nagios-plugin-2.1.2/

Instala los plugins de Nagios con los comandos a continuación:

./configure --with-nagios-user=nagios --with-nagios-group=nagios --with-openssl  
make  
make install

Paso 4 - Configurar Nagios

Después de que la fase de instalación esté completa, puedes encontrar la configuración predeterminada de Nagios en /usr/local/nagios/.

Configuraremos Nagios y el contacto de Nagios.

Edita la configuración predeterminada de nagios con vim:

vim /usr/local/nagios/etc/nagios.cfg

descomenta la línea 51 para la configuración del monitor de host.

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

Guarda y sal.

Agrega una nueva carpeta llamada servers:

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

El contacto de Nagios se puede configurar en el archivo contact.cfg. Para abrirlo usa:

vim /usr/local/nagios/etc/objects/contacts.cfg

Luego reemplaza el correo electrónico predeterminado con tu propio correo electrónico.

Configurando Apache

Paso 1 - habilitar módulos de Apache

sudo a2enmod rewrite  
sudo a2enmod cgi

Puedes usar el comando htpasswd para configurar un usuario nagiosadmin para la interfaz web de nagios

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

y escribe tu contraseña.

Paso 2 - habilitar el virtualhost de Nagios

sudo ln -s /etc/apache2/sites-available/nagios.conf /etc/apache2/sites-enabled/

Paso 3 - Iniciar Apache y Nagios

service apache2 restart  
service nagios start

Cuando Nagios se inicie, puedes ver el siguiente error:

Starting nagios (via systemctl): nagios.serviceFailed

Y así es como solucionarlo:

cd /etc/init.d/  
cp /etc/init.d/skeleton /etc/init.d/nagios

Ahora edita el archivo Nagios:

vim /etc/init.d/nagios

… y agrega el siguiente código:

DESC="Nagios"  
NAME=nagios  
DAEMON=/usr/local/nagios/bin/$NAME  
DAEMON_ARGS="-d /usr/local/nagios/etc/nagios.cfg"  
PIDFILE=/usr/local/nagios/var/$NAME.lock

Hazlo ejecutable y comienza Nagios:

chmod +x /etc/init.d/nagios  
service apache2 restart  
servuce nagios start

Probando el servidor Nagios

Por favor, abre tu navegador y accede a la IP del servidor Nagios, en mi caso: http://192.168.1.9/nagios.

Inicio de sesión de Nagios con htpasswd de apache.

Inicio de sesión de Nagios

Panel de administración de Nagios

Panel de control de Nagios

Agregando un host para monitorear

En este tutorial, agregaré un host Ubuntu para monitorear en el servidor Nagios que hemos creado anteriormente.

IP del servidor Nagios : 192.168.1.9  
IP del host Ubuntu : 192.168.1.10

Paso 1 - Conectar al host ubuntu

ssh [email protected]

Paso 2 - Instalar el servicio NRPE

sudo apt-get install nagios-nrpe-server nagios-plugins

Paso 3 - Configurar NRPE

Después de que la instalación esté completa, edita el archivo nrpe /etc/nagios/nrpe.cfg:

vim /etc/nagios/nrpe.cfg

… y agrega la IP del servidor Nagios 192.168.1.9 a server_address.

server_address=192.168.1.9

Paso 4 - Reiniciar NRPE

service nagios-nrpe-server restart

Paso 5 - Agregar el host Ubuntu al servidor Nagios

Por favor, conéctate al servidor Nagios:

ssh [email protected]

Luego crea un nuevo archivo para la configuración del host en /usr/local/nagios/etc/servers/.

vim /usr/local/nagios/etc/servers/ubuntu_host.cfg

Agrega las siguientes líneas:

# Archivo de configuración del host Ubuntu

define host {
        use                          linux-server
        host_name                    ubuntu_host
        alias                        Host Ubuntu
        address                      192.168.1.10
        register                     1
}

define service {
      host_name                       ubuntu_host
      service_description             PING
      check_command                   check_ping!100.0,20%!500.0,60%
      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                       ubuntu_host
      service_description             Comprobar Usuarios
      check_command           check_local_users!20!50
      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                       ubuntu_host
      service_description             Disco Local
      check_command                   check_local_disk!20%!10%!/
      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                       ubuntu_host
      service_description             Comprobar SSH
      check_command                   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                       ubuntu_host
      service_description             Total de Procesos
      check_command                   check_local_procs!250!400!RSZDT
      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
}

Puedes encontrar muchos check_command en el archivo /usr/local/nagios/etc/objects/commands.cfg. Consulta allí si deseas agregar más servicios como DHCP, POP, etc.

Y ahora verifica la configuración:

/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

… para ver si la configuración es correcta.

Paso 6 - Reiniciar todos los servicios

En el host Ubuntu, inicia el servicio NRPE:

service nagios-nrpe-server restart

… y en el servidor Nagios, inicia Apache y Nagios:

service apache2 restart  
service nagios restart

Paso 7 - Probando el host Ubuntu

Abre el servidor Nagios desde el navegador y observa que el ubuntu_host está siendo monitoreado.

El host Ubuntu está disponible en el host monitoreado.

El servidor monitoreado está listado

Todos los servicios monitoreados sin error.

Todos los servicios están en verde

Conclusión

Nagios es una aplicación de código abierto para monitorear un sistema. Nagios ha sido ampliamente utilizado debido a la facilidad de configuración. Nagios es compatible con varios plugins, y incluso puedes crear tus propios plugins. Consulta aquí para más información.

Share: X/Twitter LinkedIn

Recibe nuevas publicaciones en tu bandeja de entrada.

No spam. Cancela la suscripción en cualquier momento.