Workflow Is Now IntegratedWith the check-in of revision 343,
the workflow efforts that were
initiated and nearly completed (but not integrated) in September of
last year, have now replaced the old rules-based code in pymon. It was
quite amazing to start up the daemon and watch the debugging output
show the state transitions that were taking place... it's been a long
wait, but worth it.
New Plugin and Configuration System in Place!Over the past couple weeks, a lot of effort (contemplating, planning and coding) has gone into the new plugin "architecture" and scalable
The plugin system that is now in place is really quite simple:
The configuration system has also had an overhaul
(but don't worry -- it still uses Apache-style configuration!):
- plugins go in the 'plugins' directory off the root pymon dir;
- individual plugins are python packages that contain only what is needed
for each given monitor type;
- plugins consist of 3 files: client.py, monitor.py, and defaults.conf;
- the previously-written pymon monitors (and clients) have all been
reorganized and ported to the new plugin architecture;
- as such, all of pymon depends on and uses plugins, thus providing clear
and explicit examples of how to write plugins for services not yet
There's more exciting stuff in the works... stay tuned!
- files are now split up (no more monolithic config file);
- configuration can be generated programmatically, essentially unlimited in
- you have the flexibility to have as many or few service check configs per
file, as many or few config files per pymon instance;
- new 2-way disk <-> memory writes for config files of running pymon
instances (useful for the forth-coming pymon MOS -- monitoing
operating system -- that was prototyped at the PyCon 2006 sprint);
- No more XML config schemas to create and maintain!
Renewed Development EffortsThere's been some good pymon development lately, particularly with code that will be addressing scalability needs. Also, the plugin
architecture is starting to fall into place, which has the potential of
finally making pymon internals and add-ons accessible to non-Twisted
developers. Other recent code has addressed the configuration infrastrucure that
not only accomodates both massive deployments and individual users, but
also resolves the issues with writing (and loading) configuration changes
made in the pymon shell.
There are two new resources for pymon on the web:
And lastly, an infrastructure update: we're back at SourceForge.net now,
using their SVN repo for everything. We'll keep the Google wiki and issue
tracker as long as they're
still published and we may even end up svnsync'ing the SF repo to the
google one. We'll see...