Usuario:Luis.perez/sistemaspyaytozgz/watchdog

¿ Qué es Watchdog ?

 * Librería para facilitar la monitorización de servicios y notificar o realizar acciones en respuesta a incidentes.
 * DSL propio para definir servicios y acciones
 * Api simple y pequeña

Instalación
Por ahora no está disponible por defecto en distribuciones. Basta con descargar:

https://raw.github.com/sebastien/watchdog/master/Sources/watchdog.py

e incluirlo en el pythonpath.

O bien clonar o descargar el repo https://github.com/sebastien/watchdog.git

e instalarlo mediante

Estructura del DSL

 * Los servicios se registran en el monitor
 * Un servicio puede tener varias reglas, que se comprueban con una frecuencia de tiempo configurable
 * Se pueden definir acciones cuando las reglas terminan con éxito o fracaso.

Reglas y acciones

 * Reglas: HTTP (prueba un servicio http), SystemHealth(comprueba que los niveles de cpu, disco, y memoria están por debajo de los niveles que establecemos), ProcessInfo, SystemInfo, Bandwith, Mem, Delta.
 * Acciones: Log, Print, Restart (para reiniciar procesos), Email, XMPP, Incident (para ejectutar otras acciones en base a multiples fallos seguidos), ZMQPublish (para publicar mensajes en colas ZeroMQ).


 * Podemos crear acciones y reglas personalizadas, extendiendo de Action y Rule.

Ejemplos
Ejemplo básico:

Enviando emails:

Incidentes, varios errores en un determinado tiempo: Monitorizando la salud del sistema: