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.
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.
apt-get -y update
apt-get -y install apache2
apt-get -y install mysql-server php5-mysql
apt-get -y install php5 libapache2-mod-php5 php5-mcrypt
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.
apt-get -y install build-essential
Añadiremos unos paquetes extras que son necesarios:
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:
useradd nagios
groupadd nagcmd
usermod -a -G nagcmd nagios
Nos descargamos la última versión de Nagios, que a fecha de hoy es la 4.1.1
cd /tmp
curl -L -O https://assets.nagios.com/downloads/nagioscore/releases/nagios-4.1.1.tar.gz
Descomprimimos el fichero utilizando el programa tar:
tar xvf nagios-4.1.1.tar.gz
Accedemos a la carpeta:
cd nagios-4.1.1
Asignamos el usuario y el grupo antes de compilar:
./configure --with-nagios-group=nagios --with-command-group=nagcmd
Compilamos:
make all
Seguimos con los scripts:
make install
make install-commandmode
make install-init
make install-config
Configuramos la parte del servidor web:
/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:
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:
cd /tmp
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:
tar xvf nagios-plugins-2.1.1.tar.gz
Accedemos a la carpeta:
cd nagios-plugins-2.1.1
Asignamos usuario y grupo:
./configure --with-nagios-user=nagios --with-nagios-group=nagios --with-openssl
Compilamos:
make
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:
cd /tmp
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:
tar xvf nrpe-2.15.tar.gz
cd nrpe-2.15
Asignamos usuario y grupo:
./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:
make all
make install
make install-xinetd
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:
nano /etc/xinetd.d/nrpe
En mi caso sería:
only_from = 127.0.0.1 192.168.0.100
Salimos y reiniciamos el servicio:
service xinetd restart
Configurar Nagios
Primero de todo crearemos una nueva carpeta, donde ubicaremos la configuración de nuestros servidores:
mkdir /usr/local/nagios/etc/servers
Modificamos el fichero de configuración principal:
nano /usr/local/nagios/etc/nagios.cfg
Y descomentamos la siguiente línea:
#cfg_dir=/usr/local/nagios/etc/servers
Guardamos y salimos.
Configurar contactos
Modificamos el fichero de contactos, para añadir nuestro correo electrónico:
/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:
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’:
a2enmod rewrite
a2enmod cgi
Asignamos una contraseña para el usuario ‘nagiosadmin» que utilizaremos para acceder a la web:
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:
ln -s /etc/apache2/sites-available/nagios.conf /etc/apache2/sites-enabled/
Reiniciamos Nagios y Apache:
service nagios start
service apache2 restart
Añadimos Nagios al arranque del sistema, mediante un enlace simbólico:
ln -s /etc/init.d/nagios /etc/rcS.d/S99nagios
Comprobamos que la configuración es correcta:
/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
cp /etc/init.d/skeleton /etc/init.d/nagios
Y añadimos las siguientes líneas:
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
Modificamos los permisos del fichero:
chmod +x /etc/init.d/nagios
Y arrancamos el servicio:
/etc/init.d/nagios start
Y si todo ha ido bien ya podemos ir a nuestro navegador, escribiendo http://nuestra-ip/nagios
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.