Imprimir

Monitorizar servidores de red con Nagios en Linux

Nagios (nagios.org, paquete nagios2) es un potente programa que permite monitorizar máquinas, servicios y redes. Veamos cómo configurarlo manualmente (luego veremos alguna herramienta gráfica que facilita su configuración):

  • Nagios necesita un servidor web y por defecto supone que tenemos Apache2, de manera que crea el enlace /etc/apache2/conf.d/nagios2.conf que apunta al archivo /etc/nagios2/apache2.conf, el cual contiene las directivas aplicables a los directorios donde se ubica Nagios, algo similar a:
    # Apache2 configuration for Nagios2
    ScriptAlias /cgi-bin/nagios2 /usr/lib/cgi-bin/nagios2
    ScriptAlias /nagios2/cgi-bin /usr/lib/cgi-bin/nagios2
    Alias /nagios2/stylesheets /etc/nagios2/stylesheets
    Alias /nagios2 /usr/share/nagios2/htdocs
     
    <DirectoryMatch (/usr/share/nagios2/htdocs|/usr/lib/cgi-bin/nagios2)>
        Options FollowSymLinks
        DirectoryIndex index.html
        AllowOverride AuthConfig
        Order Allow,Deny
        Allow From All
        AuthName "Nagios Access"
        AuthType Basic
        AuthUserFile /etc/nagios2/htpasswd.users
        require valid-user
    </DirectoryMatch>

    Como vemos utiliza autentificación Basic, por lo que crearemos un usuario (nagiosadmin) con contraseña para autenticarnos frente a Apache y aportar algo de seguridad para acceder a la interfaz web. Para ello haremos:

    # htpasswd -c /etc/nagios2/htpasswd.users nagiosadmin
  • /etc/nagios2/nagios.cfg y /etc/nagios2/cgi.cfg: archivos principales de configuración de Nagios.
  • /etc/nagios2/conf.d/hosts.cfg: contiene el listado de máquinas que queremos monitorizar. Por ejemplo, para monitorizar el host pc450.mi_dominio.com donde tenemos un servidor web haremos:
    define host {
        use        generic-host           ; Template to use
        host_name  pc450.mi_dominio.com
        alias      pc450
        address    85.26.204.112
    }
  • /etc/nagios2/conf.d/hostgroups.cfg: cada host debe pertenecer a un hostgroup, por ejemplo para los servidores web:
    define hostgroup {
        hostgroup_name  http-servers
        alias           HTTP servers
        members         pc450.mi_dominio.com
    }
  • /etc/nagios2/conf.d/contacts.cfg: contiene los usuarios a los que se les notificarán las incidencias (contact) y los grupos (contactgroup). Por defecto es admins y se especifica en la plantilla a aplicar, en este caso /etc/nagios2/conf.d/generic-host.cfg
  • /etc/nagios2/conf.d/services.cfg: contiene la definición de los servicios a monitorizar, por ejemplo para un servidor web:
    define service {
        hostgroup_name         http-servers
        service_description    HTTP
        check_command          check_http
        use                    generic-service   ; Template to use
        notification_interval  0
    }
  • Una vez configurado chequearemos los archivos de configuración con el comando nagios2 -v:
    # nagios2 -v /etc/nagios2/nagios.cfg
    Reading configuration data...
    Running pre-flight check on configuration data...
    Checking services...
            Checked 7 services.
    Checking hosts...
            Checked 2 hosts.
    Checking host groups...
            Checked 5 host groups.
    Checking service groups...
            Checked 0 service groups.
    Checking contacts...
            Checked 1 contacts.
    Checking contact groups...
            Checked 1 contact groups.
     
    ...
     
    Total Warnings: 0
    Total Errors:   0
  • Si todo está correcto reiniciamos el daemon:
    # /etc/init.d/nagios2 restart
  • Ya sólo nos queda entrar en la URL http://127.0.0.1/nagios2 con nuestro browser y autenticarnos con el usuario nagiosadmin y su password y entraremos en la interfaz web de Nagios:

    Nagios

Herramientas gráficas para configurar Nagios

Como hemos podido comprobar, Nagios no es el programa más fácil de configurar del mundo, de manera que se han desarrollado varias herramientas gráficas para facilitar su configuración.

  • Fruity (fruity.sourceforge.net, paquete fruity): frontend con interfaz web para facilitar la configuración de Nagios. Necesita Apache2, PHP y MySQL. Una vez configurado Fruity podremos acceder a su menú principal con nuestro browser en la URL http://127.0.0.1/fruity

    Fruity

    Le indicaremos dónde están ubicados los archivos de configuración de Nagios, definiremos todos los parámetros de Nagios (hosts, servicios, contactos, etc.) y pulsaremos Export de manera que Fruity reemplazará el contenido del directorio de configuración de Nagios.

5 Comentarios en “Monitorizar servidores de red con Nagios en Linux”

  • jn dice:

    ke shido esta todo

  • Edison Javier dice:

    Esta muy bien la información… Pero quisiera saber si cuando un servicio se ha caido, existe algun archivo arrojado por nagios en la que se guarde esta información…. ??? Por fa si pudieran ayudarme, De ante mano Gracias..

  • yova dice:

    por favor necesito saber paso a paso como puedo activar el snmp para monitorear servidores linux con nagios

  • Helson dice:

    por favor como puedo autentificarme a nagios utilizando la autentificacion del dominio de windows.

  • david dice:

    sabes como hacer vistas de nagios segun sus usarios? por ejemplo que te quite los host command, poner un usuario limitado de opciones.

Deja un comentario