Instalación nagios sobre Ubuntu/Debian (howto install) 8 Octubre 2009
Posted by ubanov in Informática-Linux.Tags: debian, howto, linux, nagios, nagios3, ubuntu
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
}
[...] Gestión de red: Nagios. Artículo de cómo instalarlo se puede encontrar aquí. [...]