Instalar y configurar Nagios en servidor Debian 7 (Parte I)

Actualmente, en pleno siglo XXI, las empresas, ya sean grandes o pequeñas se encuentran ante el desafío de controlar decenas de máquinas, ya sean físicas o virtuales, estén en la nube o en sus propias instalaciones.

En el presente artículo hablaremos de Nagios, un fantástico software de monitorización liberado bajo licencia GNU General Public License Version 2. Con él podemos vigilar el hardware, es decir, las máquinas físicas cómo también los diferentes servicios que pueden correr en dichas máquinas (SMTP,POP3, HTTP,FTP,BBDD, etcétera).

Instalar y configurar Nagios en servidor Debian 7

He usado una máquina virtual con Debian 7 Wheezy.

También existe un artículo sobre la instalación sobre un Debian 8 «Jessie»

Antes de empezar debemos de instalar los siguientes paquetes en el sistema:

  • Apache2
  • PHP 5
  • El compilador GCC y las librerias de desarrollo
  • Las librerias GD

Empecemos entonces:

  1. #Los siguientes comandos como superusuario
  2.  
  3. apt-get -y update
  4.  
  5. apt-get -y install apache2
  6.  
  7. apt-get -y install libapache2-mod-php5
  8.  
  9. apt-get -y install build-essential
  10.  
  11. apt-get -y install libgd2-xpm-dev

 

Creación de cuentas de usuario y grupo

Creamos el usuario nagios y le asignamos una contraseña:

  1. #Creamos el usuario
  2.  
  3. useradd -m -s /bin/bash nagios
  4.  
  5. #Le asignamos una contraseña
  6.  
  7. passwd nagios

Añadimos el nuevo usuario en el grupo nagios

  1. usermod -G nagios nagios

Creamos el nuevo grupo nagcmd para alojar los comandos usandos por la interfaz web.

  1. groupadd nagcmd
  2.  
  3. #Añadimos el usuario en el grupo nagios
  4. usermod -a -G nagcmd nagios
  5.  
  6. #También en el grupo apache
  7. usermod -a -G nagcmd www-data

 

Descargamos el software y los Plugins

Crearemos una carpeta para descargar los paquetes de la página web del producto.

  1. mkdir downloads 
  2. cd downloads

Si tenemos una carpeta ya creada con anterioridad de descargas perfecto, podemos usar la que queramos.

Procedemos a bajar los paquetes desde la web:

descarga-nagios

Yo he seleccionado la última versión estable. Usamos el comando wget para la descarga:

  1. #Descargamos los paquetes de nagios-core
  2.  
  3. http://sourceforge.net/projects/nagios/files/nagios-4.x/nagios-4.0.6/nagios-4.0.6.tar.gz
  4.  
  5. #Descargamos los paquetes de plugins
  6.  
  7. http://nagios-plugins.org/download/nagios-plugins-2.0.tar.gz

 

Compilamos e instalamos

Descomprimimos los paquetes descargados:

  1. tar xzf http://sourceforge.net/projects/nagios/files/nagios-4.x/nagios-4.0.6/nagios-4.0.6.tar.gz

Y accedemos al nuevo directorio:

  1. cd nagios-4.0.6

Ejecutamos el script de configuración, pasándolo por el grupo que hemos creado nagcmd

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

Compilamos el código fuente:

  1. make all

Ahora instalamos los binarios, los scripts de inicio y los archivos de ejemplo.

  1. make install
  2.  
  3. make install-init
  4.  
  5. make install-config
  6.  
  7. make install-commandmode

Los archivos básicos de configuración los tenemos en la carpeta:

/usr/local/nagios/etc/objects

Que son los siguientes:

  • commands.cfg
  • contacts.cfg
  • localhost.cfg
  • printer.cfg
  • switch.cfg
  • templates.cfg
  • timeperiods.cfg
  • windows.cfg

Por el momento sólo modificaremos el archivo contacts.cfg, que es dónde indicamos los usarios. Aquí podemos cambiar el correo de contacto por el nuestro propio.

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

 

Configuramos al Interfaz Web

Ejecutaremos el script install-webconf desde el directorio ….downloads/nagios-4.0.6

  1. make install-webconf

Asignaremos el usuario nagiosadmin a la interfaz web de nagios. Nos pedirá una contraseña, no la olvides.

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

Reiniciamos el servicio Apache

  1. /etc/init.d/apache2 reload

 

Compilamos e Instalamos  Plugins

Volvemos al directorio donde tenemos el archivo descargado de los plugins y lo descomprimimos.

  1. tar xzf nagios-plugins-2.0.tar.gz

Y accedemos dentro del directorio creado:

  1. cd nagios-plugins-2.0

Compilamos e instalamos los plugins

  1. ./configure --with-nagios-user=nagios --with-nagios-group=nagios
  1. make
  2.  
  3. make install

 

Iniciamos

Primero de todo crearemos un enlace simbólico con el comando ln, para que arranque el servicio al encender nuestra máquina.

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

Por último comprobaremos que toda la configuración es correcta.

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

Si no nos devuelve ningún error ya lo podemos arrancar.

  1. /etc/init.d/nagios start

Con todo esto ya tenemos la web funcionando:

principal_nagiosEn un artículo próximo instalaremos los servicios necesarios para poder enviar notificaciones de estado, además de crear una configuración básica.

Instalar y configurar Nagios en servidor Debian 7 (Parte II)

Instalar y configurar Nagios en servidor Debian 7 (Parte III)

Si te ha servido el artículo puedes hacer click en cualquiera de los anuncios de la página, hay algunos interesantes : ) así me ayudarás a pagar todos los costos de la web. Desde ya muchas gracias.

Nota:

Información extraída de:

Nagios Core Documentation

Wikipedia

60 Respuestas

  1. Ricardo dice:

    Gracias por el post.

    Realmente está muy bien explicado paso por paso y funciona a la primera.

    Salu2.

    • andrew dice:

      yo he seguido el tuto varias veces al pie de la letra y no he conseguido que funcione…. 🙁

      • davidochobits dice:

        Hola Andrew,
        Ten en cuenta que este tuto es para Debian 7, eso es, llamada «Wheezy», quizás utilizas otra versión, si es la 8, con codename «Jessie», puedes seguir el otro tutorial que tengo en la web.

  2. Jesus dice:

    Gran aporte!!

    Esta guía me ha funcionado al 100%, muy completa.

    Felicidades y muchísimas gracias

  3. Me alegra que os haya sido de utilidad y gracias por visitar la página 🙂

  4. Egly longa dice:

    amigo excelente aporte muy acorde con el manual original de Nagios continuare con los otros capitulos o partes de verdad agradecida desde Venezuela 😉

  5. Ma_DzJz dice:

    Hola 😀 he seguida cada paso que mencionas y al intentar abrir el navegador con la url http://localhost/nagios me resulta error 404 Not Found , estoy desesperada, sabes por qué sucede ésto??? ayuda por favor :'(

    • davidochobits dice:

      Hola!
      Primero de todo necesito saber si nagios lo has instalado en la máquina donde estás navegando o en otra, recuerda que si es en otra debes de escribir la IP de dicha máquina, en vez de localhost.
      Recuerda que debes de reiniciar Apache Server. También puedes comprobar si la configuración es correcta con el comando y parámetros:
      /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
      Espero que te funcione.
      Gracias por pasarte!

  6. Alejandro dice:

    Hola !
    He instalado nagios 4.0.8 en debian 7 siguiendo todos los pasos descriptos en el post. Anda perfecto, excepto que no inicia cuando enciento la maquina. El enlace simbólico está creado (ln -s /etc/init.d/nagios /etc/rcS.d/S99nagios ). Agradezco una ayudita. Muy bien explicado el tema . Felicitaciones.

    • davidochobits dice:

      Hola Alejandro,
      ¿Qué distribución estás utilizando?
      Puedes revisar el directorio para comprobar que efectivamente está creado el enlace simbólico.
      Saludos

      • Alejandro dice:

        Buenas Tardes David ! Revisé el directorio:

        root@nagios:/etc/rcS.d# ls
        README S07kmod S13rpcbind
        S01hostname.sh S07mtab.sh S14nfs-common
        S01mountkernfs.sh S08checkfs.sh S15mountnfs.sh
        S02udev S09mountall.sh S16mountnfs-bootclean.sh
        S03keyboard-setup S10mountall-bootclean.sh S17kbd
        S04mountdevsubfs.sh S11procps S18console-setup
        S05hwclock.sh S11udev-mtab S19bootmisc.sh
        S06checkroot.sh S11urandom S19x11-common
        S07checkroot-bootclean.sh S12networking —> S99nagios <—

        root@nagios:~# cat /etc/issue
        Debian GNU/Linux 7 \n \l

        root@nagios:/etc/init.d# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

        Nagios Core 4.0.8
        Copyright (c) 2009-present Nagios Core Development Team and Community Contributors
        Copyright (c) 1999-2009 Ethan Galstad
        Last Modified: 08-12-2014
        License: GPL

        Website: http://www.nagios.org
        Reading configuration data…
        Read main config file okay…
        Read object config files okay…

        Running pre-flight check on configuration data…

        Checking objects…
        Checked 8 services.
        Checked 1 hosts.
        Checked 1 host groups.
        Checked 0 service groups.
        Checked 1 contacts.
        Checked 1 contact groups.
        Checked 24 commands.
        Checked 5 time periods.
        Checked 0 host escalations.
        Checked 0 service escalations.
        Checking for circular paths…
        Checked 1 hosts
        Checked 0 service dependencies
        Checked 0 host dependencies
        Checked 5 timeperiods
        Checking global event handlers…
        Checking obsessive compulsive processor commands…
        Checking misc settings…

        Total Warnings: 0
        Total Errors: 0

        Things look okay – No serious problems were detected during the pre-flight check

        Parece estar todo bien.. pero no inicia 🙁 Saludos.!

  7. Muri dice:

    Muy bien explicado y funciona a la primera muchas gracias por tu aporte 🙂

  8. israel dice:

    excelente el aporte, puedo accesar via web pero cuando le doy a revizar los host o cualquiera de las pestañas me da el siguiente error
    Error: Could not read object configuration data!
    Here are some things you should check in order to resolve this error:
    Verify configuration options using the -v command-line option to check for errors.
    Check the Nagios log file for messages relating to startup or status data errors
    y en la pagina principal dice not running

    • davidochobits dice:

      Hola Israel,
      ¿Has probado utilizar la siguiente línea de comandos para comprobar la configuración?
      /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
      Ya me dices.
      Gracias por pasarte por aquí : )

  9. Heibarth dice:

    Buena tardes amigos, les escribo porque estoy instalando Nagios 4.06 segun su paso a paso y cuando voy a comprobar e funcionameinto me sale el siguiente error:

    # /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
    bash: /usr/local/nagios/bin/nagios: No existe el fichero o el directorio

    Leyendo sus comentarios he tratado con las diferentes opciones y sigue el mismo problema.

    Estoy usando debian 7.

    # a2enmod cgi
    Module cgi already enabled
    # cat /etc/issue
    Debian GNU/Linux 7 \n \l

    # ln -s /etc/init.d/nagios /etc/rcS.d/S99nagios
    ln: fallo al crear el enlace simbólico «/etc/rcS.d/S99nagios»: El fichero ya existe
    # /etc/init.d/nagios start
    Executable file /usr/local/nagios/bin/nagios not found. Exiting.

    Alguien tendra alguna idea de porque no se me crea el directorio «/usr/local/nagios/bin/nagios»

    • davidochobits dice:

      Hola,
      ¿Cuando has compilado te ha dado algún error? También puedes buscar el archivo con los comandos find o locate.

      • Heibarth dice:

        Buenas tardes David, ya logre solucionar el problema usando los paquetes nagios-plugins-2.1 en lugar de los paquetes 2.0. Al compilar los plugins 2.1 levanto todo sin problema. Gracias igual por tu respuesta.

  10. jegrys dice:

    make[1]: se sale del directorio «/home/jizaguirre/downloads/nagios-plugins-2.0/po»
    make[1]: se ingresa al directorio «/home/jizaguirre/downloads/nagios-plugins-2.0»

    Chicos excelente guia pero al compilar el make me da este error no se si es que no se extrajeron bien los archivos alguien le ha pasado??

    make[2]: se ingresa al directorio «/home/jizaguirre/downloads/nagios-plugins-2.0»
    make[2]: No se hace nada para «install-exec-am».
    make[2]: No se hace nada para «install-data-am».
    make[2]: se sale del directorio «/home/jizaguirre/downloads/nagios-plugins-2.0»
    make[1]: se sale del directorio «/home/jizaguirre/downloads/nagios-plugins-2.0»

  11. Julio dice:

    Amigo sigo los pasos y al final cuando quiero acceder a la web de la manera «http://ipserver/nagios» me sale:

    Not Found
    The requested URL /nagios was not found on this server.
    Apache/2.4.10 (Debian) Server at «IP Server» Port 80
    si solo accedo de la siguiente manera «http://ipserver» sale la pagina por defecto de apache2

    Te agradecería que me des una mano amigo…

    • davidochobits dice:

      Hola Julio,
      ¿Qué tal? Gracias por visitar la web.
      Sería interesante saber si la versión de Debian, es la 6, la 7 o la 8, ya que el servicio Apache2 tiene ligeras diferencias dependiendo la versión.

  12. Juan dice:

    Gracias por el Tuto. seguí las instrucciones llego entrar a la web pero me rebota el usuario: nagios y contraseña: nagios que puedo hacer?

    • davidochobits dice:

      Hola Juan,
      Simplemente tienes que cambiar la contraseña del usuario «nagios» desde la consola, usando el usuario «root», con el comando «passwd nagios» Salu2

  13. Juan dice:

    Perdon falto leer un poco mejor, ya pude ingresar. gracias!

  14. Pablo dice:

    Buenos días, estoy siguiendo el tutorial (mil gracias por cierto!!) y hay un paso que en mi caso no se puede realizar. Me refiero a: «make install-webconf» Me devuelve:

    /usr/bin/install -c -m 644 sample-config/http,conf /etc/httpd/conf.d/nagios.conf
    /usr/bin/install: no se puede crear el fichero regular : No existe el fichero o directorio.
    Makefile:296: recipe for target ‘install-webconf’ failed
    make:*** [install-webconf] Error 1

    Todos los demás comandos sin ningún problema. Me arranca el servicio, pero tampoco puedo acceder vía web (intuyo que por mi problema). Sin embargo si ejecuto la sentencia para comprobar si todo esta correcto, me devuelve 0 warnings y 0 errors.

    Usando Debian 7 x64, Nagios-4.0.8 y nagios-plugins-2.0.3.

    ¿Se te ocurre algo que haya hecho mal?

    Muchas gracias por tu tiempo

    Un saludo!!

    • davidochobits dice:

      Hola Pablo,
      Revisa la configuración y sobre todo los pasos de la instalación por si te has dejado alguno, que es lo que suele pasar.
      Salu2!

  15. sergio dice:

    Hola David:
    Bien explicado y me ha servido, pero:
    usuario nagios con shell y contraseña nagios…. mal, no crees

  16. Shinit dice:

    Hola David,

    fenomenal tutorial, las 3 partes son de gran ayuda 😀

    Tengo una duda, como podría configurar exactamente el tema de las notificaciones para poder recibir emails a mi correo de gmail?

    Muchas gracias fenómeno!! 😀

  17. Carlos dice:

    Buenas amigo gracias por el aporte esta super completo solo que me arroja 2 errores el primero es que cuando intento instalar el script webconf me da error, ya lo he revisado todo exactamente como lo haces tu y nada, lo estoy instalando en debian 7 con el nagios4.1.0rc2, el otro error que presento es que sigo el tutorial saltando ese paso y cuando llego al momento de arrancar el servidor me devuelve error.

    root@redes-servers:/home/ftp/downloads/nagios-plugins-2.0# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

    Nagios Core 4.1.0rc2
    Copyright (c) 2009-present Nagios Core Development Team and Community Contributors
    Copyright (c) 1999-2009 Ethan Galstad
    Last Modified: 07-17-2015
    License: GPL

    Website: https://www.nagios.org
    Reading configuration data…
    Read main config file okay…
    Read object config files okay…

    Running pre-flight check on configuration data…

    Checking objects…
    Checked 8 services.
    Checked 1 hosts.
    Checked 1 host groups.
    Checked 0 service groups.
    Checked 1 contacts.
    Checked 1 contact groups.
    Checked 24 commands.
    Checked 5 time periods.
    Checked 0 host escalations.
    Checked 0 service escalations.
    Checking for circular paths…
    Checked 1 hosts
    Checked 0 service dependencies
    Checked 0 host dependencies
    Checked 5 timeperiods
    Checking global event handlers…
    Checking obsessive compulsive processor commands…
    Checking misc settings…

    Total Warnings: 0
    Total Errors: 0

    Things look okay – No serious problems were detected during the pre-flight check

    root@redes-servers:/home/ftp/downloads/nagios-plugins-2.0# /etc/init.d/nagios start
    [….] Starting nagios (via systemctl): nagios.serviceFailed to start nagios.service: Unit nagios.service failed to load: No such file or directory.

    • davidochobits dice:

      Hola Carlos,
      Revisé los pasos hace poco y todo funciona bien si se utiliza la misma versión de Debian, y se siguen todos los pasos.
      Saludos

  18. Jobert Escalona dice:

    Hola, excelente tutorial, fectivamente, da un error al momento de la instalación del Web Config, pero la solucion es simple, se debe ejecutar el comando de manera manual para que funcione, la manera actual seria así:
    /usr/bin/install -c -m 644 sample-config/httpd.conf /etc/apache2/sites-enabled/nagios.conf

    Yo hice la instalación y funciono todo. Estoy haciendo pruebas actualmente y quiero montar el NagioQL

    • davidochobits dice:

      Hola Jobert, gracias por visitar la web.

      Respecto al error que has encontrado es debido a que habrás utilizado otra versión de Debian, seguramente la última a día de hoy, que es la «Jessie». Para el tutorial yo me serví de la anterior, que es la versión 7, llamada «Wheezy»

      Saludos

      • Jobert dice:

        La idea es ayudar, que cualquiera q este buscando información pueda ayudarse, la versión de Debían q utilizo es la 7, el problema es q cambio la versión del apache. De igual manera, aplicando el cambio q mencione se soluciona, si le ocurre esto a alguien puede solucionarlo como oí emocione…

  19. Andreus dice:

    Boa noite,
    Está de parabéns pelo tutorial, para quem foi acessar o nagios e se deparou com a mensagem «resulta error 404 Not Found» é preciso criar um link simbólico segue exemplo::

    ln -s /etc/apache2/conf.d/nagios.conf /etc/apache2/conf-enabled/

    Na compilação é criado o arquivo nesse diretório /etc/apache2/conf.d/nagios.conf e por algum motivo o apache2 só esta lendo o /etc/apache2/conf-enabled/

    Obrigado a todos!!

  20. Alexis Ezequiel Manzanares Laguardia dice:

    Estoy comenzando a trabajar en Linux, mi correo es alexis.manzanares@umcc.cu. Necesito la ayuda de la comunidad Linux, instalé Nagios 4.0.8 en debian 7. Al final dice que está corriendo el servicio pero no sé donde se muestra la Web donde se interactúa con ella. Disculpen mi desconocimiento, estoy a un 20% de la curva de aprendizaje…Si alguno escucha mi S.O.S escríbame al correo para comunicarnos más directamente y abrir un canal de colaboración…saludos

  21. Alexis Ezequiel Manzanares Laguardia dice:

    Hola davidochobits:
    Gracias colega, ya dí un primer paso y creo que voy entendiendo, pero me dio un error. Usé tres navegadores, el Internet Explorer que no ve nada, y el Mozilla y Google Chrome, me das más información: colocando http://10.40.7.25/nagios,

    404 Not Found
    The requested URL /nagios was not found on this server
    Apache/2.4.10 (Debian) Server at 10.40.7.25 Port 80
    En su sitio aparecen tres partes de la instalación del nagios, yo solo instalé el primer tutorial, me faltan los otros dos. No sé si el error es porque mis archivos son nagios-4.0.8, y nagios-plugins-2.0.3, mientras que el tutorial habla del nagios-4.0.6. y nagios-plugins-2.0…Yo estoy incursionando en lo desconocido y tengo muchas dudas, cualquier explicación suya o de otros colegas me va a ser útil…Esperando ayuda…saludos Alexis

  22. Antonio dice:

    tengo un servicio en un archivo pl desde consola funciona correctamente pero en la web no funciona.

    • Hola Antonio,

      ¿Tiene relación con Nagios? Te lo digo porque de eso va el artículo.

      • Antonio dice:

        Si claro, tengo nagios instalado tal como indicas y he puesto un servicio, check_timed_logs.pl para leer los logs recibidos, en concreto para que me diga cuantos correos(PTO 25,465 y 587) en ultima hora se han enviado y desde la terminal me aparece correcto y desde la web de nagios me dice desconocido («UNKNOWN – There were no files matching the passed filename»), gracias por responder.

  23. Elohim Suniaga dice:

    Buen dia Disculpe No puedo Acceder al Panel Nagios via Web coloco mi ip+/nagios y no accede y todo el proceso se realizo con satisfaccion que debo hacer?

  1. 27 junio, 2014

    […] Si queréis podéis consultar la primera parte del tutorial aquí. […]

  2. 28 julio, 2014

    […] Instalar y configurar Nagios en servidor Debian 7 (Parte I) […]

  3. 10 septiembre, 2014

    […] la primera parte de la guía tratamos de instalación y configuración básica del servidor, aquí. En la segunda parte de la creación de un cliente windows, concretamente un Windows Server 2008, y […]

  4. 17 septiembre, 2014

    […] Instalar y configurar Nagios en servidor Debian 7 (Parte I) […]

  5. 29 octubre, 2015

    […] 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 […]

  6. 18 febrero, 2016

    […] Origen: Instalar y configurar Nagios en servidor Debian 7 (Parte I) – ochobitshacenunbyte […]

  7. 8 julio, 2016

    […] de dichos proyectos están enfocados al campo de la monitorización de sistemas y redes, véase Nagios o Icinga, la de gestión de inventario como OCS o GLPI, o de la automatización de procesos como […]

Deja un comentario

This site uses Akismet to reduce spam. Learn how your comment data is processed.