Instalar y configurar Nagios en Debian Jessie

En la web he tratado de manera amplia y extendida Nagios. Para ello me serví del sistema operativo Debian, en su version 7, que utiliza el codename Wheezy. Muchos usuarios me escribían comentarios referidos a que ellos habían utilizado la versión inmediatamente superior, es decir, la 8, llamada Jessie. Por lo que éste artículo es para ellos. Vamos a ver como instalar y configurar Nagios en Debian Jessie.

Nagios_Logo

Instalar servidor LAMP

Un requisito imprescindible es instalar un servidor LAMP, esto es, la combinación de Apache2, PHP 5 y MySQL o MariaDB.

Vamos a ello, no explicaré cada paso, ya que existen muchos artículos en ésta misma web donde los explico.

  1. apt-get -y update
  2. apt-get -y install apache2
  3. apt-get -y install mysql-server php5-mysql
  4. apt-get -y install php5 libapache2-mod-php5 php5-mcrypt
  5. apt-get -y install php5-cgi php5-gd php5-common php5-curl

Instalar Nagios

Instalamos el paquete build-essential, esencial para compilar, ya que los ficheros están escritos en C.

  1. apt-get -y install build-essential

Añadiremos unos paquetes extras que son necesarios:

  1. apt-get -y install libgd2-xpm-dev openssl libssl-dev xinetd apache2-utils unzip curl

Creamos el usuario y el grupo con el que trabajaremos:

  1. useradd nagios
  2. groupadd nagcmd
  3. usermod -a -G nagcmd nagios

Nos descargamos la última versión de Nagios, que a fecha de hoy es la 4.1.1

  1. cd /tmp
  2. curl -L -O https://assets.nagios.com/downloads/nagioscore/releases/nagios-4.1.1.tar.gz

Descomprimimos el fichero utilizando el programa tar:

  1. tar xvf nagios-4.1.1.tar.gz

Accedemos a la carpeta:

  1. cd nagios-4.1.1

Asignamos el usuario y el grupo antes de compilar:

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

Compilamos:

  1. make all

Seguimos con los scripts:

  1. make install
  2. make install-commandmode
  3. make install-init
  4. make install-config

Configuramos la parte del servidor web:

  1. /usr/bin/install -c -m 644 sample-config/httpd.conf /etc/apache2/sites-available/nagios.conf

Añadimos el usuario de Apache www-data al grupo nagcmd:

  1. usermod -G nagcmd www-data

Instalar Plugins de Nagios

Ahora de manera adicional y recomenda, instalaremos el paquete de plugins. Accedemos a la carpeta /tmp y descagamos el fichero:

  1. cd /tmp
  2. curl -L -O http://nagios-plugins.org/download/nagios-plugins-2.1.1.tar.gz

Al igual que con el archivo de core, también descomprimimos con tar:

  1. tar xvf nagios-plugins-2.1.1.tar.gz

Accedemos a la carpeta:

  1. cd nagios-plugins-2.1.1

Asignamos usuario y grupo:

  1. ./configure --with-nagios-user=nagios --with-nagios-group=nagios --with-openssl

Compilamos:

  1. make
  2. make install

Instalar Plugin NRPE

Para poder monitorizar máquinas con GNU Linux debemos instalar el plugin NRPE, los pasos son similares a los anteriores.

Accedemos a la carpeta /tmp y descargamos la última versión:

  1. cd /tmp
  2. curl -L -O http://downloads.sourceforge.net/project/nagios/nrpe-2.x/nrpe-2.15/nrpe-2.15.tar.gz

Descomprimimos el fichero y accedemos a la carpeta recién creada:

  1. tar xvf nrpe-2.15.tar.gz
  2. cd nrpe-2.15

Asignamos usuario y grupo:

  1. ./configure --enable-command-args --with-nagios-user=nagios --with-nagios-group=nagios --with-ssl=/usr/bin/openssl --with-ssl-lib=/usr/lib/x86_64-linux-gnu

Compilamos y ejecutamos los scripts:

  1. make all
  2. make install
  3. make install-xinetd
  4. make install-daemon-config

Modificamos el fichero /etc/xinetd.d/nrpe y modificamos la línea only_from y añadimos la IP de nuestro servidor:

  1. nano /etc/xinetd.d/nrpe

En mi caso sería:

  1. only_from = 127.0.0.1 192.168.0.100

Salimos y reiniciamos el servicio:

  1. service xinetd restart

Configurar Nagios

Primero de todo crearemos una nueva carpeta, donde ubicaremos la configuración de nuestros servidores:

  1. mkdir /usr/local/nagios/etc/servers

Modificamos el fichero de configuración principal:

  1. nano /usr/local/nagios/etc/nagios.cfg

Y descomentamos la siguiente línea:

  1. #cfg_dir=/usr/local/nagios/etc/servers

Guardamos y salimos.

Configurar contactos

Modificamos el fichero de contactos, para añadir nuestro correo electrónico:

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

Modificamos la línea «mail» con nuestro correo electrónico, guardamos y cerramos.

Configuramos el comando check_nrpe

Para que el plugin NRPE monitorice nuestro servidor, debemos modificar el fichero:

  1. nano /usr/local/nagios/etc/objects/commands.cfg

Y añadimos al final del fichero:

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

Guardamos y salimos

Configurar Apache

Habilitamos los módulos de Apache ‘rewrite’ y ‘cgi’:

  1. a2enmod rewrite
  2. a2enmod cgi

Asignamos una contraseña para el usuario ‘nagiosadmin» que utilizaremos para acceder a la web:

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

Creamos un enlace simbólico utilizando ln, que apunte a la carpeta de sites-enabled de Apache:

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

Reiniciamos Nagios y Apache:

  1. service nagios start
  2. service apache2 restart

Añadimos Nagios al arranque del sistema, mediante un enlace simbólico:

  1. ln -s /etc/init.d/nagios /etc/rcS.d/S99nagios

Comprobamos que la configuración es correcta:

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

Problemas en el arranque

Si al arrancar el servicio nos devuelve el siguiente mensaje:

Failed to start nagios.service: Unit nagios.service failed to load: No such file or directory.

Debemos copiar el fichero /etc/init.d/skeleton a /etc/init.d/nagios

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

Y añadimos las siguientes líneas:

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

Modificamos los permisos del fichero:

  1. chmod +x /etc/init.d/nagios

Y arrancamos el servicio:

  1. /etc/init.d/nagios start

Y si todo ha ido bien ya podemos ir a nuestro navegador, escribiendo http://nuestra-ip/nagios

nagios-debian-jessie

He grabado un vídeo en mi canal de youtube, explicando justo los mismos pasos:

Para el artículo me he ayuda de :

Nagios Documentation | DigitalOcean

Podéis dejar vuestros comentarios aquí abajo y explicar vuestra experiencia.