Monitorizar servidores con Nagios

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.

Artículos en la categoría "Servidores (software)"

  1. Monitorizar servidores con Nagios
  2. Monitorizar routers SNMP con MRTG
  3. Administración de máquinas Linux con Webmin
  4. Shell remoto con Telnet
  5. Servidor DNS Bind
  6. Servidor de IPs dinámicas DHCP
  7. Servidor de hora NTP
  8. Servidor proxy Squid
  9. Servidor de correo electrónico
  10. Servidor de terminales LTSP
  11. Servidor web Apache
  12. Soporte para PHP en Apache
  13. Soporte para CGI en Apache
  14. Analizador de logs de Apache
  15. Servidor de base de datos MySQL
  16. Servidor web Lighttpd
  17. Whois: Quién es el propietario de un dominio
  18. Servidor de archivos FTP
  19. Compartir archivos en Linux: NFS
  20. Compartir archivos en Windows: Samba
  21. Control de versiones: CVS y Subversion
  22. Servidor de streaming por Internet
  23. Servidor de streaming en red local

9 Comments:

  1. ke shido esta todo

  2. 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..

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

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

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

  6. hola, muy interesante pero donde puedo descargar el fruity, ya que desde la link que indicas no esta disponible y no lo eh podido hayar con este programita.

    salu2

  7. @juan, parece que fruity está discontinuado. Tiene un fork llamado Lilac pero parece también inactivo.

  8. cuantos usuarios puede tener Nagios y cuales son sus politicas de seguridad en cuanto a password

  9. Muy buen aporte, yo me estoy pegando con Pandora FMS, tienes algo como esto para Pandora FMS? Muchas gracias por compartir amigo!