¿Qué es Nagios Core?

Se trata de una herramienta, licenciada bajo los términos de software libre GPL (GNU General Public License), que sirve principalmente para monitorizar servicios de ordenadores o servidores de nuestra propia red o incluso de otras, ya sean estos Windows, Linux, Netware, o incluso hardware de comunicaciones como routers y switches, o servidores de impresión.

Los servicios más habituales que requieren esta supervisión son, por ejemplo, SMTP y POP3 sobre los servidores de correo electrónico, HTTP sobre los servidores web, NNTP, PING, etc. De esta forma sabremos si nuestro servidor web, o el de alguno de nuestros clientes, están funcionando correctamente, o bien han dejado de responder. Igualmente también se utiliza para monitorizar recursos de los servidores (carga de procesador, espacio en disco duro, memoria, etc.). Nagios nos avisará por correo electrónico, por ejemplo, sobre el estado de alerta de algunos de estos servicios monitorizados, lo que nos permitirá identificar rápidamente un posible problema.

Ya, con nuestro entorno gráfico instalado sobre Ubuntu Server 13.10, el entorno de ventanas nos permitirá gestionar mejor nuestro servidor, y proceder entre otras cosas con la instalación de Nagios Core sobre  Ubuntu Server 13.10.

Requerimientos

Los requerimientos necesarios son los siguientes:

  • El servidor web Apache 2.
  • PHP.
  • El compilador GCC y las librerías de desarrollo.
  • GD Graphics Library versión 1.6.3 o superior.

 

Instalación de Nagios Core en Ubuntu Server

Para ello, y siempre como root del sistema; o bien precediendo el comando sudo a las diferentes instrucciones, para elevar privilegios, comenzaremos por instalar los paquetes necesarios:

triton@nautilus:~$ sudo apt-get install  build-essential apache2 apache2-utils php5-gd libgd2-xpm-dev libapache2-mod-php5

prompt

 

Nagios Core - Instalación de los componentes necesarios

Nagios Core – Instalación de los componentes necesarios

 

La forma más rápida de comprobar que el servidor web Apache ya está funcionando es accediendo a la dirección IP del equipo, en este caso la 192.168.0.100, y comprobando si se visualiza la siguiente pantalla:

Nagios Core - Servidor web Apache funcionando

Nagios Core – Servidor web Apache funcionando

Para trabajar más cómodos a partir de este momento utilizaremos la opción comentada anteriormente, pasaremos a root de la siguiente forma:

triton@nautilus:~$ sudo -s

prompt

 

Nos posicionamos en el directorio descargas, creándolo antes si no existe:

 

root@nautilus:~# mkdir ~/descargas

prompt

 

root@nautilus:~# cd ~/descargas 

prompt

 

Y desde allí bajamos la última versión estable de Nagios Core en estos momentos, la 4.0.2, y los plugins, en su versión 1.5:

root@nautilus:~/descargas/# wget http://prdownloads.sourceforg e.net/sourceforge/nagios/nagios-4.0.2.tar.gz
prompt

 

 

root@nautilus:~/descargas/# wget https://www.nagios-plugins.or g/download/nagios-plugins-1.5.tar.gz

prompt

 

 

Nagios Core - Archivos de instalación descargados

Nagios Core – Archivos de instalación descargados

 

A continuación crearemos una nueva cuenta en Ubuntu, que servirá como cuenta de sistema para el proceso Nagios:

 

root@nautilus:~# useradd -m -s /bin/bash nagios

prompt

 

 

root@nautilus:~# passwd nagios

prompt

 

Crearemos igualmente un grupo llamado nagcmd, que permitirá ejecutar los comandos externos a través de la interfaz web, en el que deberemos incluir la cuenta de sistema Nagios y la de Apache:

root@nautilus:~# groupadd nagcmd

prompt

 

root@nautilus:~# usermod -a -G nagcmd nagios

prompt

 

root@nautilus:~# usermod -a -G nagcmd www-data

prompt

 

Extraer el código de Nagios:

root@nautilus:~# cd ~/descargas

prompt

 

root@nautilus:~/descargas# tar xzf nagios-4.0.2.tar.gz

prompt

 

root@nautilus:~/descargas# cd nagios-4.0.2

prompt

 

Nagios Core - Directorios y archivos

Nagios Core – Directorios y archivos

 

Ejecutar el script de configuración con los siguientes parámetros:

 

root@nautilus:~/descargas/nagios-4.0.2# ./configure –with-nagios-group=nagios –with-command-group=nagcmd –with-mail=/usr/bin/sendmail

prompt

 

 

Y compilar el código fuente de Nagios Core:

 

root@nautilus:~/descargas/nagios-4.0.2# make all

prompt

 

En la siguiente pantalla podemos comprobar el éxito del resultado de la compilación:

Nagios Core - Resultado de la compilación

Nagios Core – Resultado de la compilación

Posteriormente se deberán instalar los binarios, los scripts de inicio, archivos de configuración por defecto y configurar permisos en el directorio de comandos externos:

 

 

root@nautilus:~/descargas/nagios-4.0.2# make install

prompt

Nagios Core - Resultado tras la instalación

Nagios Core – Resultado tras la instalación

Y haciendo caso de la propuesta del instalador, recuadrado en rojo:

root@nautilus:~/descargas/nagios-4.0.2# make install-init

prompt

 

root@nautilus:~/descargas/nagios-4.0.2# make install-commandmode

prompt

 

root@nautilus:~/descargas/nagios-4.0.2# make install-config

prompt

 

Los archivos de configuración han sido guardados en el directorio  /usr/local/nagios/etc.

Editaremos el archivo contacts.cfg con un editor de texto, por ejemplo el vim o el nano, para modificar la dirección de correo electrónico sobre la que pretendemos recibir las alertas:

root@nautilus:~/descargas# vim /usr/local/nagios/etc/objects/ contacts.cfg

prompt

Nagios Core - Archivo de configuración contacts.cfg

Nagios Core – Archivo de configuración contacts.cfg

Tras sustituir la dirección de correo que había por defecto, por la que queremos que se utilice para monitorizar las alertas, saldremos con wq (write and quit).

Como Nagios Core tratará de crear el archivo de configuración de la interfaz web sobre el directorio /etc/httpd/ que es una estructura de directorios inexistente, se producirá un error. Para evitarlo deberemos crearla previamente:

root@nautilus:~# mkdir/etc/httpd

prompt

 

root@nautilus:~# mkdir /etc/httpd/conf.d

prompt

 

root@nautilus:~# mkdir /etc/httpd/conf.d/nagios.conf

prompt

 

El siguiente paso consiste en instalar la interfaz web, crear el usuario para hacer login en la misma y reiniciar el servicio Apache:

root@nautilus:~/descargas/nagios-4.0.2# make install-webconf

prompt

 

root@nautilus:~/descargas/nagios-4.0.2# htpasswd -c /usr/loca l/nagios/etc/htpasswd.users nagiosadmin

prompt

 

Esta última línea nos pedirá una contraseña, y su confirmación, que deberemos recordar para nuestro posterior login en la interfaz web:

Nagios Core - Contraseña para nagiosadmin

Nagios Core – Contraseña para nagiosadmin

Copiamos los siguientes archivos de forma manual y establecemos los permisos adecuados, según las siguientes instrucciones:

root@nautilus:~/descargas/nagios-4.0.2# cp -R contrib/eventhan dlers/usr/local/nagios/libexec

prompt

 

root@nautilus:~/descargas/nagios-4.0.2# chown -R nagios:nagios /usr/local/nagios/libexec/eventhandlers

prompt

 

Reiniciaremos el servicio Apache para que los cambios surtan efecto:

root@nautilus:~# /etc/init.d/apache2 reload

prompt

 

Compilación e instalación de los plugins de Nagios

El primer paso consistirá en extraer el código fuente de los plugins que anteriormente hemos descargado. Así pues, desde el directorio descargas ejecutamos la instrucción y nos posicionamos en el nuevo directorio:

root@nautilus:~/descargas# tar xzf nagios-plugins-1.5.tar.gz

prompt

 

root@nautilus:~/descargas# cd nagios-plugins-1.5

prompt

 

root@nautilus:~/descargas/nagios-plugins-1.5# ./configure –with-nagios-user=nagios –with-nagios-group=nagios

prompt

 

root@nautilus:~/descargas/nagios-plugins-1.5# make

prompt

 

root@nautilus:~/descargas/nagios-plugins-1.5# make install

prompt

 

Nagios Core - Instalación de los plugins 1.5

Nagios Core – Instalación de los plugins 1.5

Una vez realizada la instalación, tan solo nos quedará configurar Nagios para que arranque automáticamente con el sistema:

root@nautilus:~/descargas/nagios-plugins-1.5# cd

prompt

 

root@nautilus:~# ln -s /etc/rcS.d/S99nagios

prompt

 

Verificar el archivo de configuración:

root@nautilus:~# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

prompt

Nagios Core - Verificación del archivo de configuración

Nagios Core – Verificación del archivo de configuración

Si el resultado está libre de errores, tal y como aparece en la imagen anterior, ya podemos ejecutarlo:

root@nautilus:~# /etc/init.d/nagios start

prompt

 

Pero un nuevo error ocurrirá al ejecutar el demonio. Esto es lo que sucede en muchos casos cuando instalamos versiones muy recientes de los productos.

Nagios Core - Error al iniciar el servicio

Nagios Core – Error al iniciar el servicio

Para solucionar el error, deberemos modificar el script de inicio de la siguiente forma:

 

root@nautilus:~# apt-get install daemon

prompt

 

root@nautilus:~# sed -i
‘s/^\.\ \/etc\/rc.d\/init.d\/functions$/\.\ \/lib\/lsb\/init-functions/g’
/etc/init.d/nagios

prompt

 

root@nautilus:~# sed -i
‘s/status\ /status_of_proc\ /g’ /etc/init.d/nagios

prompt

 

root@nautilus:~# sed -i
‘s/daemon\ –user=\$user\ \$exec\ -ud\ \$config/daemon\ –user=\$user\ –\
\$exec\ -d\ \$config/g’ /etc/init.d/nagios

prompt

 

root@nautilus:~# sed -i
‘s/\/var\/lock\/subsys\/\$prog/\/var\/lock\/\$prog/g’ /etc/init.d/nagios

prompt

 

 

Finalmente, ya estaremos en condiciones de arrancar el servicio sin errores:

root@nautilus:~# service nagios start

prompt

 

Una vez finalizada la instalación, no nos olvidemos de salir de la cuenta root:

root@nautilus:~# exit

prompt

Para comprobar la correcta instalación de Nagios Core, nos logaremos en la interfaz web, con el usuario nagiosadmin y la contraseña escogida:

Nagios Core - Interfaz web

Nagios Core – Interfaz web

 

Hasta aquí la forma más básica de instalación. En nuevas publicaciones veremos algunos ejemplos de configuración.

Si deseas estar informado sobre la publicación de nuevos artículos,

no dudes en subscribirte a E@pertos en Sistem@s.

 

J Carlos Salas

Ingeniero Técnico en Sistemas, Consultor en Tecnologías de la Información y Executive MBA por la EOI, desarrolla su carrera profesional coordinando y participando en proyectos para diferentes empresas del sector TIC, desde Advantta IT Services.


 

Compártelo si te ha gustado:

9 Comentario

9 responses to Nagios Core

  1. Carlos Castro on 6 Diciembre, 2013 at 18:44 Responder

    Buenas.

    Tengo un error al querer ejecutar el comando sed -i
    sed: -e expresión #1, carácter 1: orden desconocida: «�»

    Puedes ayudarme?

  2. J Carlos Salas on 6 Diciembre, 2013 at 22:24 Responder

    A mí me funciona perfectamente con las comillas simples, pero prueba tú utilizando comillas dobles y me cuentas. A ver si es eso.

  3. Van NistelFroy on 19 Junio, 2014 at 16:03 Responder

    Excelente tuto, nagios tiene una herramienta que te manda alertas a tu correo, intente configurar postfix pero no tuve exito solo lo pude hacer local no podrian hacer un tuto para instalar postfix en nagios en la red ahi muchos pero no son muy entendibles como aqui que se explica el porque a detalle. gracias y saludos !!!

  4. Yunheska Duque on 5 Julio, 2014 at 21:41 Responder

    estoy teniendo problemas con las últimas líneas de comando, todo estuvo perfecto hasta la instalación del demonio, me da el mismo error del amigo Castro cambié las comillas y nada revisé las rutas y sucede que el archivo /rc.d no se encuentra en /etc, agradezco la ayuda que me puedan proporcionar. saludos y mil Gracias por el post muy útil y detallado

  5. Cristian on 6 Noviembre, 2014 at 17:46 Responder

    Buenas tardes. Excelentes tutoriales y sobre todo este. Aunque tengo un inconveniente. Si bien corrí paso a paso las instrucciones y cada una de ella corrió perfecto, al intentar accerder a http://mi_ip/nagios – apache no despliega mi pagina. En que la pude haber pifiado? o donde debería corroborar o indicar a apache q levantar?

    Aguardo comentarios. Mil gracias.

  6. Anderson on 3 Marzo, 2017 at 11:50 Responder

    Buenos días, en el momento presento problemas con querer cambiar la dirección de correo electrónico, debido que el archivo contacts.cfg es solo lectura. root@nautilus:~/descargas# vim /usr/local/nagios/etc/objects/ contacts.cfg.

    Me puedes ayudar con esto?

  7. Lzualltec on 13 Abril, 2017 at 23:52 Responder

    Buenas tardes quisiera saber como crear contactos de email y telegram en nagios así como clarificarlos por grupos modifique el archivo de contacts.cfg y me muestra demasiados errores ayuda urgente de favor saludos.

  8. Lzualltec on 13 Abril, 2017 at 23:54 Responder

    de echo no se donde colocar puntos y comas para separar contactos de telegram y email o de telefono sms

  9. marco lerin on 3 Mayo, 2017 at 4:43 Responder

    alguien me podría ayudar para crear un mapa de red en nagios core 4.2

Deja aquí tu comentario. Gracias.

Visit Us On FacebookVisit Us On TwitterVisit Us On LinkedinCheck Our Feed