Sunteți pe pagina 1din 35

Gestin de Redes

NAGIOS

These materials are licensed under the Creative Commons Attribution-Noncommercial 3.0 Unported license
(http://creativecommons.org/licenses/by-nc/3.0/)

Introduccin
Herramientas de Ges-n de Redes
Disponibilidad
Fiabilidad
Desempeo

Nagios monitoriza ac.vamente la


disponibilidad de nodos y servicios

Introduccin

Probablemente el so3ware libre de


monitorizacin ms u:lizado
Interfaz web para visualizar el estado, revisar la
historia de eventos, planicar bajas por
mantenimiento
Enva alarmas por e-mail. Puede congurarse
para usar otros mecanismos (ej. SMS)

Ejemplo: Detalle de Servicios

Funcionalidades
U:liza informacin topolgica para determinar
las dependencias.
-

Diferencia entre lo que est cado vs. lo que est


inalcanzable. Evita hacer comprobaciones y enviar
alarmas innecesarias

Permite denir cmo enviar alarmas basado en


una combinacin de:
-
-
-
-
-

Contactos y listas de contactos


Disposi:vos y sus grupos
Servicios y sus grupos
Horarios por personas y grupos.
El estado de un servicio.

Plugins
Los plugins se usan par vericar servicios y nodos:
-

La arquitectura de Nagios hace sucientemente simple el


escribir nuevos plugins en el lenguaje de su preferencia.

Existen muchos, muchos plugins disponibles (miles).


hTp://exchange.nagios.org/
hTp://nagiosplugins.org/

Plugins pre-instalados en Ubuntu


/usr/lib/nagios/plugins

/etc/nagios-plugins/cong

Cmo funcionan los plugins

Peridicamente Nagios ejecuta un plugin para verificar el estado de


cada servicio. Las posibles respuestas son:
-

OK

WARNING

CRITICAL

UNKNOWN

Si un servicio no est OK, entra en un estado de error soft. Despus


de un nmero de reintentos (4), entra en un estado de error hard. En
este momento se enva una alarma.

Es posible tambin activar manejadores de eventos (event


handlers) externos basndose en transiciones de estados

Cmo funcionan los plugins


Parmetros
-

Intervalo de chequeo normal

Intervalo de reintento (i.e. cuando no es OK)

Nmero mximo de reintentos

Ventana de ejecucin de los chequeos

Ventana para el envo de las alarmas

Programacin de tareas
-

Nagios distribuye sus chequeos a lo largo del intervalo


para balancear la carga

La interfaz web muestra la hora del prximo chequeo

Las relaciones padre-hijo


Los nodos pueden tener padres
El padre de un PC conectado a un switch, sera el
switch
Nos permite especicar las dependencias entre
nodos
Evita enviar alarmas cuando los padres no
responden.
Un nodo puede tener
ml:ples padres.

Punto de referencia
La ubicacin del servidor de Nagios determina
el punto de referencia de la red.
El servidor Nagios se convierte en el nodo
raz de su estructura de rbol jerrquico

Punto de referencia

Demostracin de Nagios

Instalacin
En Debian/Ubuntu
# apt-get install nagios3
Directorios clave
/etc/nagios3
/etc/nagios3/conf.d
/etc/nagios-plugins/config
/usr/lib/nagios/plugins
/usr/share/nagios3/htdocs/images/logos

La interfaz web de Nagios est en:


http://pcN.ws.nsrc.org/nagios3/

Configuracin

Se dene en archivos de texto


/etc/nagios3/conf.d/*.cfg
- Detalles en hTp://nagios.sourceforge.net/docs/3_0/
objectdeni:ons.html
-

La conguracin por defecto se distribuye entre


varios archivos por :po de objeto, pero en
realidad se pueden organizar a su gusto
Siempre verique antes de reiniciar Nagios, de
lo contrario su sistema se caer!
-

nagios3 v /etc/nagios3/nagios.cfg!

Configuracin de nodos y servicios


Basado en plan-llas
-

Esto ahorra mucho :empo ya que evita la repe:cin

Hay plan-llas por defecto con parmetros por defecto


para:
-

Nodo genrico

Servicio genrico

(generic-host_nagios2.cfg)
(generic-service_nagios2.cfg)

Los parmetros individuales se pueden sobreponer

Los valores por defecto son razonables

Monitorizar un nodo
pcs.cfg
define host {!
host_name pc1!
alias
pc1 in group 1!
address
pc1.ws.nsrc.org!
use
generic-host!
}!

sta es una conguracin mnima


-

Heredar parmetros de esta


plantilla

Simplemente est haciendo ping al nodo; Nagios le adver:r


que no est monitorizando ningn servicio

El archivo puede nombrarse cualquier cosa


terminando en .cfg (nagios.cfg)
Organice sus nodos como le convenga, por ejemplo,
nodos relacionados en el mismo archivo

Plantilla genrica de nodo


generic-host_nagios2.cfg
define host {!
name
notifications_enabled
event_handler_enabled
flap_detection_enabled
failure_prediction_enabled
process_perf_data
retain_status_information
retain_nonstatus_information
check_command
max_check_attempts
notification_interval
notification_period
notification_options
contact_groups
register
}!

generic-host
; The name of this host template!
1 ; Host notifications are enabled!
1 ; Host event handler is enabled!
1 ; Flap detection is enabled!
1 ; Failure prediction is enabled!
1 ; Process performance data!
1 ; Retain status information across program restarts!
1 ; Retain non-status information across restarts!
check-host-alive!
10!
0!
24x7!
d,u,r!
admins!
0 ; DONT REGISTER THIS DEFINITION !
; ITS NOT A REAL HOST, JUST A TEMPLATE!!

Sobreponiendo valores por defecto


Los valores heredados se pueden sobreponer en el nodo
pcs.cfg
define host {!
host_name
alias
address
use
notification_interval
contact_groups
}!

pc1!
pc1 in group 1!
pc1.ws.nsrc.org!
generic-host!
120!
admins,managers!

Definicin de servicios (modo directo)


pcs.cfg
define host {!
host_name
alias
address
use
}!

pc1!
pc1 in group 1!
pc1.ws.nsrc.org!
generic-host!

define service {!
host_name
service_description
check_command
use
}!
define service {!
host_name
service_description
check_command
use
}!

service pc1,HTTP

pc1!
HTTP!
check_http!
generic-service!

plugin

Plantilla de
servicio

pc1!
SSH!
check_ssh!
generic-service!

Comprobaciones de servicio

La combinacin de nodo+servicio es un
iden:cador nico para el chequeo, ej:
pc1,HTTP
- pc1,SSH
- pc2,HTTP
- pc2,SSH
-

check_command hace referencia al plugin


service template causa que se hereden los
parmetros acerca de qu tan frecuentemente
comprobar, y a quin y cundo enviar las
alarmas

Plantilla genrica de servicio


generic-service_nagios2.cfg*
define service{!
name
active_checks_enabled
passive_checks_enabled
parallelize_check
obsess_over_service
check_freshness
notifications_enabled
event_handler_enabled
flap_detection_enabled
failure_prediction_enabled
process_perf_data
retain_status_information
retain_nonstatus_information
!
!notification_interval
!
!is_volatile
!
!check_period
!
!normal_check_interval
!
!retry_check_interval
!
!max_check_attempts
!
!notification_period
!
!notification_options
!
!contact_groups
register
}!

generic-service!
1!
1!
1!
1!
0!
1!
1!
1!
1!
1!
1!
1!
0 !
!!
0!
24x7!
5!
1!
4!
24x7!
w,u,c,r!
admins!
0
; DONT REGISTER THIS DEFINITION!

* Comentarios eliminados

Sobreponiendo valores por defecto


De nuevo, los valores por defecto se pueden sobreponer
services_nagios2.cfg
define service {!
host_name
service_description
check_command
use
contact_groups
max_check_attempts
}!

pc1!
HTTP!
check_http!
generic-service!
admins,managers!
3!

Chequeos de servicio repetidos

Frecuentemente monitorizamos el mismo


servicio en ml:ples nodos
Para evitar la duplicacin, es ms conveniente
denir un service check para todos los nodos en
un hostgroup

Crear grupos de nodos (hostgroups)


hostgroups_nagios2.cfg
define hostgroup {!
hostgroup_name
http-servers!
alias
HTTP servers!
members
pc1,pc2!
}!
define hostgroup {!
hostgroup_name
ssh-servers!
alias
SSH servers!
members
pc1,pc2!
}!

Monitorizando servicios en hostgroups


services_nagios2.cfg
define service {!
hostgroup_name
service_description
check_command
use
}!

http-servers!
HTTP!
check_http!
generic-service!

define service {!
hostgroup_name
service_description
check_command
use
}!

ssh-servers!
SSH!
check_ssh!
generic-service!

Ej. si el hostgroup hTp-servers con:ene a pc1 y pc2 entonces


Nagios crea chequeos de HTTP para cada nodo. Los chequeos
de servicio se llaman pc1,HTTP y pc2,HTTP

Vista alternativa

En lugar de decir este hostgroup con:ene a


estas PCs puede decir esta PC pertenece a
estos hostgroups
No es necesaria la seccin members en el
archivo de hostgroups

Membresa de grupo alternativa


pcs.cfg
define host {!
host_name
alias
address
use
hostgroups
}!

pc1!
pc1 in group 1!
pc1.ws.nsrc.org!
generic-host!
ssh-servers,http-servers!

define host {!
host_name
alias
address
use
hostgroups
}!

pc2!
pc2 in group 1!
pc2.ws.nsrc.org!
generic-host!
ssh-servers,http-servers!

Nodos y servicios denidos en el mismo si:o (ms conveniente)

Otros usos de los hostgroups


Elegir iconos para el mapa de estado
pcs.cfg
define host {!
host_name
alias
address
use
hostgroups
}!

pc1!
pc1 in group 1!
pc1.ws.nsrc.org!
generic-host!
ssh-servers,http-servers,debian-servers!

ex-nfo_nagios2.cfg
define hostextinfo {!
hostgroup_name
debian-servers!
notes
Debian GNU/Linux servers!
icon_image
base/debian.png!
statusmap_image base/debian.gd2!
}!

Opcional: servicegroups

Tambin puede agrupar los servisios usando un


servicegroup
De manera que los servicios relacionados o
dependientes se puedan ver juntos en la
interfaz web
Los servicios deben estar denidos
servicegroups.cfg
define servicegroup {!
servicegroup_name
mail-services!
alias
Services comprising the mail platform!
members
web1,HTTP,web2,HTTP,mail1,IMAP,db1,MYSQL!
}!

Configurar la topologa
pcs.cfg
define host {!
host_name
alias
address
use
parents
}!

pc1!
pc1 in group 1!
pc1.ws.nsrc.org!
generic-host!
rtr1!

Nodo padre

Esto signica pc1 est del otro lado de rtr1


Si rtr1 cae, pc1 se marca como unreachable
en lugar de down
Evita una cascada de alarmas si cae rtr1
Tambin permite a Nagios dibujar el mapa

Otra vista de la configuracin


RTR
define host {
use
host_name
alias
address

generic-host
rtr
Gateway Router
10.10.0.254
}

SW
define host {
use
host_name
alias
address
parents

generic-host
sw
Backbone Switch
10.10.0.253
rtr
}

RTR3
define host {
use
host_name
alias
address
parents

PC11

generic-host
rtr3
router 3
10.10.3.254
sw
}

Notificaciones fuera de lnea


(out of band)
Una cosa cr:ca que recordar: un sistema de
mensaje que no dependa de su red
-

Puede usar un telfono celular conectado al


servidor Nagios, o un disposi:vo USB con tarjeta
SIM

Puede usar herramientas como:


gammu: hTp://wammu.eu/
gnokii: hTp://www.gnokii.org/
sms-tools: hTp://smstools3.kekekasvi.com/

Referencias
Sitio web de Nagios
http://www.nagios.org/

Plugins
http://www.nagiosplugins.org/

Nagios System and Network Monitoring, por


Wolfgang Barth. Muy bueno.
Sitio web de plugins (no-oficial)
http://nagios.exchange.org/

Un tutorial de Nagios por Debian


http://www.debianhelp.co.uk/nagios.htm

Consultora de Nagios comercial


http://www.nagios.com/

Preguntas?

S-ar putea să vă placă și