Monitoring is an API with a DSL feel to write monitoring daemons in Python.
Monitoring works well for the following tasks:
- to be notified when incidents happen (email, XMPP, ZeroMQ...)
 - automatic actions to be taken (restart, rm, git pull...)
 - to collect system statistics for further processing e.g. graphs
 - tie into existing/third-party Python code
 - play along nicely with existing deployment/configuration ecosystem (fabric/cuisine)
 
- monitoring DSL: declarative programming to define monitoring strategy
 - wide spectrum: from data collection and incident reporting to taking automatic actions
 - Small, easy to read, a single file API
 - Revised BSD License
 - written in Python
 
- ensure service availability: test and start/stop when problems
 - collect system statistics/data, log locally and/or remotely
 - alert on system/service health, take actions
 
` python setup.py install ` or
` easy_install monitoring `
Read the presentation on Monitoring (previously named Watchdog).