- Estréllate y Arde - https://www.estrellateyarde.org -

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.


Article printed from Estréllate y Arde: https://www.estrellateyarde.org

URL to article: https://www.estrellateyarde.org/discover/monitorizar-servidores-nagios-en-linux

Copyright © 2010 Estrellate y Arde