About pymon pymon is an open source network and process monitoring solution implemented in python. The interface and conifiguration is designed to be easily and rapidly deployed, saving on time and overhead often associated with other monitoring solutions.
Design Goals and Purposepymon is desinged with one goal in mind: simplicity. Simplicity in configuration, deployment, and management. Its API is designed to not only accomplish this goal, but to allow you the freedom to do whatever you want with it -- including making it as complicated as you want.
In our view, all that a monitoring application should do is monitor. Yet, a good application should let you have access to its data and functionality. pymon strives for this goodness, enabling you to make it part of other applications, or a larger meta-application.
- The perfect remote monitoring tool for systems administrators and IT managers alike
- Easy installation and configutation for rapid deployment
- Apache-style configuration file for zero learning curve, instant implementation, and easy maintenance
- Email notifications
- Unified auditing/logging
- Built-in http daemon for the display of all service, host, and network states (supports virtual hosting for easy integration with Apache)
- Asynchronous (Twisted Python) code for near-realtime capabilities
- The ability to monitor thousands of simultaneous services, hosts, page content checks, responses to protocol requests, etc.
Licensepymon is released under a BSD License.
The FutureHere are some of the things in the works:
- The creation of PyMon+ that includes the capacity to run remote, light-weight agents/probes. With the introduction of this feature, the option will be available for those wanting "push," agent-based monitoring.
- An interactive pymon shell for creating, modifying, deleteing, querying as well as enabling and disabling services, hosts, and networks; acknowledging alerts; manually performing escalations; modifying general, non-monitor-instance-specific pymon configuration parameters.
- Escalation notification logic.
- Built-in snmp daemon with the ability to receive authenticated emails and respond according to message content. This would include the full range of abilities provided by the interactive shell.
- Support for authenticated access to the interactive shell via Jabber client sessions or IRC channel bot.
- Open storage, configuration, and messaging APIs for the easy development of additional user interfaces within third-party systems.
- SNMP MIBs for seamless integration into other monitoring frameworks (e.g., HPOpenView).
- Distributed monitoring capbilities where multiple pymon hosts communicate to provide the most reliable coverage and notification of service availability.
New News FeedThe pymon project has a news feed now, thanks to SF.net. We've managed to unify the
news-generation process, so all news items from now on will be available
in three places:
The RSS feed has
also been added to the pymon site, available in both the address bar and
on the page as a link.
- the front page (and news archives) of the pymon site;
- the Summary and News pages for
the pymon project at SF.net; and
- the RSS
feed for the pymon project at SF.net.
We wrote a fun little command-line
script that allow us to keep the pymon site and the SF.net project news
section in-sync and up-to-date with a single command. This lowers the
resistance barrier to publishing news items by minimizing time and
Keep in mind that these will be the major news items,
while the dev mail list will (in general) publish items of interest more
New Mail ListThere's a new mail list for pymon development discussions, bring the total pymon mail list count to three:
To date, all intense technical discussions and development planning have
taken place on the pymon list, however, from now on that list will be for
asking and answering questions about usage and deployment.
Great ProgressWell, things are going well on the dev front. I've been testing the Twistsed-based portscanner that checks the hosts in a given netblock
(or blocks) for open TCP ports and then generates pymon config files
for those services (TCP ping check only). I'm in the middle of writing
the TCP ping checker (100% python, no need for an external tool or for
a local agent service to be running, which is what the current ping
checker uses) and should be done with that soon. That will leave me
with a few more areas to cover before a new release:
I will likely make a testing release at this point for folks to give a
try, whet their appetite, and provide some feedback on. Then, in short
order, I will work on the following which will result in a follow-up
- testing scalability (in massive configuration deployments as well
- continuing work on the storage component (which will replace the
global registry and pickled code)
- updating the HTTP status checker
- updating the HTTP content checker
Given the little time I have available to work on pymon, I'm really
surprised and excited about the amount that has happened in such a
short time. Several long-term goals have been met over the past two
months; seeing how I had anticipated those being completed a year from
then, this is most unexpected :-) I guess working for Divmod has
really given me a lot of energy and enthusiasm.
- bug reports from the previous test release
- start initial work on messaging
- fine-tune workflow
- write a plugin HOWTO