jump to navigation

Instalación nagios sobre Ubuntu/Debian (howto install) 8 octubre, 2009

Posted by ubanov in Informática-Linux.
Tags: , , , , ,
trackback

Nagios es una herramienta open source de gestión de red, según varias estadísticas además cuenta con el honor de ser LA herramienta de red más utilizada (me refiero de las open).

En este post voy a explicar las cuatro cosas básicas que se necesita saber para empezar a utilizarla.

Advertencia: el artículo está sin acabar, cuando lo acabe quitaré este este parrafo.

La instalación que yo he hecho ha sido sobre una máquina Ubuntu 9.04, con idea de controlar mi red de casa (estoy en un momento en el que mi conexión de Internet se cae muy a menudo).

Para instalar nagios voy a utilizar la paquetería de ubuntu, por lo tanto la instalación es algo tan sencillo como:

sudo apt-get install nagios3

Tengo que decir que en mi máquina ya tenía apache2 instalado, si no lo tuviese supongo que sería necesario instalarlo (vamos que necesitar se necesita y no se si al instalar nagios se instalará automáticamente).

Una vez hecha la configuración anterior, para poder ver la página web del nagios, es necesario ejecutar el siguiente comando:

sudo htpasswd -c /etc/nagios3/ nagiosadmin

Esto nos creará un nombre de usuario y una password para acceder al nagios.

Si quieren que en lugar de usar el usuario nagiosadmin puedas utilizar otro, es necesario que configures en el fichero /etc/nagios3/cgi.cfg tu nombre de usuario (cambiar todos los nagiosadmin por el nombre de usuario que decidas, sino lo haces no te dejará hacer ciertas funciones desde la web).

Con sólo hacer esto tendrás el sistema configurado para gestionar dos máquinas, la máquina en la que tienes configurado el nagios (la etiqueta como localhost) y la máquina que te hace de router por defecto (etiquetada como gateway). Las pruebas que le hace al gateway es sólo un ping y al localhost le hace 5 pruebas.

Para poder empezar a revisar cómo funciona el nagios puedes acceder a http://direccionipserver/nagios3/ y echar el primer vistazo al interface web.

Nagios tiene dos partes: por una parte un demonio en el servidor (que es el que se encarga de la monitorización) y por otra parte un entorno Web (que es el que se encarga de mostrar cómo está la red).

Para dar de alta servicios a monitorizar es necesario tocar los ficheros de nagios (como decía antes el entorno web es sólo para visualizar información, no para dar de alta nada).

Los ficheros de configuración están en /etc/nagios3/ y la definición de gateway y localhost están en /etc/nagios3/conf.d/

Para poder hacer chequeos sobre un ordenador, lo primero que hay que hacer es darlo de alta. Por ejemplo si queremos chequear mediante ping una máquina, podríamos crear el fichero siguiente (por ejemplo en /etc/nagios3/conf.d/switch.cfg)

define host{
        use             generic-host            ; Inherit default values from a template
        host_name       Switch3COM              ; The name we’re giving to this switch
        alias           Switch de red           ; A longer name associated with the switch
        address         192.168.2.2             ; IP address of the switch
        hostgroups      ping-servers            ; Host groups this switch is associated with
  }

Una vez creado este fichero para que se empezase a chequear y ver en la parte web sería necesario reiniciar el nagios. Antes de hacerlo, para evitar que se nos pare el servicio, podemos chequear que la configuración que tenemos es válida mediante el comando:

 # chequear configuracion
 sudo nagios3 -v /etc/nagios3/nagios.cfg

Una vez comprobado que no tenemos errores podríamos hacer el /etc/init.d/nagios3 restart

Evidentemente la red que estamos monitorizando es una red pequeña (la mía sólo tiene 7 elementos), pero para mayores se puede jerarquizar la vista de todos los elementos y cambiar el icono asociado a un determinado elemento. Por ejemplo la configuración podría ser algo como lo siguiente:

define host{
        use             generic-host            ; Inherit default values from a template
        host_name       Switch3COM              ; The name we’re giving to this switch
        alias           Switch de red           ; A longer name associated with the switch
        address         192.168.2.2             ; IP address of the switch
        hostgroups      ping-servers            ; Host groups this switch is associated with
        parents gateway
        # iconos de /usr/share/nagios/htdocs/images/logos
        icon_image      base/switch40.png
        icon_image_alt  switch
        vrml_image      base/switch40.png
        statusmap_image base/switch40.gd2
  }

En el ejemplo anterior hemos incluido el comando parents, que especifica que este elemento va a colgar del gateway, y por otra parte hemos cambiado el icono con el que va a aparecer en nagios (le hemos dicho que dibuje un switch, dicha imagen la cogerá de /usr/share/nagios/htdocs/images/logos/base, lo digo por si queréis buscar qué otros iconos tenéis disponibles).

En el caso anterior hemos creado un host al que se le va a monitorizar mediante un ping. Si el host lo hubiesemos creado sin meterlo en ningún grupo (hostgroups), tendríamos la máquina sin hacerle ninguna comprobación.

Cómo crear grupo

define hostgroup{
        hostgroup_name  switches                ; The name of the hostgroup
        alias           Network Switches        ; Long name of the group
        }

Hacer que por pertenecer a un grupo se le ejecute comandos

Crear plantillas de host
# Define a template for switches that we can reuse
define host{
        name                    generic-switch  ; The name of this host template
        use                     generic-host    ; Inherit default values from the generic-host template
        check_period            24×7            ; By default, switches are monitored round the clock
        check_interval          5               ; Switches are checked every 5 minutes
        retry_interval          1               ; Schedule host check retries at 1 minute intervals
        max_check_attempts      10              ; Check each switch 10 times (max)
        check_command           check-host-alive        ; Default command to check if routers are “alive”
        notification_period     24×7            ; Send notifications at any time
        notification_interval   30              ; Resend notifications every 30 minutes
        notification_options    d,r             ; Only send notifications for specific host states
        contact_groups          admins          ; Notifications get sent to the admins by default
        register                0               ; DONT REGISTER THIS – ITS JUST A TEMPLATE
        }
más plantillas de configuraciones /usr/share/doc/nagios3-common/examples/template-object

SNMP

NMAP2NAGIOS

 
sudo mkdir /etc/nagios3/objects
ejemplos configuraciones
/usr/share/doc/nagios3-common/examples/template-object

 

 

 

 

 

define service{
        use                     generic-service ; Inherit values from a template
        host_name               linksys-srw224p ; The name of the host the service is associated with
        service_description     PING            ; The service description
        check_command           check_ping!200.0,20%!600.0,60%  ; The command used to monitor the service
        normal_check_interval   5               ; Check the service every 5 minutes under normal conditions
        retry_check_interval    1               ; Re-check the service every minute until its final/hard state is determined
        }
# Monitor uptime via SNMP

define service{
        use                     generic-service ; Inherit values from a template
        service_description     Uptime
        check_command           check_snmp!-C public -o sysUpTime.0
        }
define service {
        hostgroup_name                  ping-servers
        service_description             PING
        check_command                   check_ping!100.0,20%!500.0,60%
        use                             generic-service
        notification_interval           0 ; set > 0 if you want to be renotified
}

Comentarios»

1. Programas Open Source para la empresa « El Weblog de Ivan Ricondo (Ubanov) - 6 noviembre, 2009

[…] Gestión de red: Nagios. Artículo de cómo instalarlo se puede encontrar aquí. […]

2. edgar - 16 marzo, 2010

Checking misc settings…
Error: Unable to write to temp_path (‘/var/nagios/spool/checkresults’) – Permission denied
Error: Unable to write to check_result_path (‘/var/nagios/spool/checkresults’) – Permission denied

buenas tardes me da estos 2 errores qeu puedo hacer

3. daniel gil - 20 abril, 2010

me podrias colaborar indicadome como hago para incluir que el nagios me mida el jitter de la red?

4. diane - 20 marzo, 2013

What’s up, its nice paragraph on the topic of media print, we all understand media is a fantastic source of facts.


Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: