PyMeter - Monitoring Tools in Python
A project for PyMeter has been created on SourceForge and development is underway. More information and the first beta release is coming soon.
The initial release will contain the basic framework along with a library of plugins comprising a toolset for collecting system stats from Solaris and GNU/Linux operating systems.
What is PyMeter?
PyMeter is a system monitoring program written in Python. It is used for agentless remote monitoring of unix-like hosts. It uses an extensible object-oriented framework so plugins for monitoring new stats can be added easily.
What is "Agentless Monitoring" (and why do I care)?
For remote system monitoring, there are several approaches. Typically, a monitoring tool will need a software "agent" installed and running on the host that is being monitored. This can be a custom agent that is specific to the monitoring tool or something more standard like an SNMP agent. In certain situations this may be problematic or undesirable due to feasibility, maintainability, or security concerns. PyMeter does not require special permissions or anything to be installed on the host that is being monitored. It connects using standard remote connection methods (TELNET or SSH) and runs native system tools to gather stats.
To run PyMeter, you will need:
- Unix-like system*
- Python (2.3 or newer)
- OpenSSH or similar Secure Shell client (if you choose to use SSH for your remote connections)
- RRDtool (if you choose to use RRD for your data logging and graphing - recommended)
*PyMeter is developed on Debian GNU/Linux, but should run on any Posix platform (Linux, BSD, Solaris, AIX, etc).
Free and Open Source
PyMeter is Free and Open Source.
It is licensed under the GNU General Public License (GPL).
You are free to use PyMeter in whatever manner you please at no cost. All source code is available to read and modify. However, if you make any modifications that you would like to publish, these modifications must also be covered under the same licensing terms. Please see the terms of the GNU GPL for more information.
PyMeter is a tool that collects stats from hosts and stores the data in either RRD (Round Robin Database) or Text/Log format. It does not contain any of its own graphing capabilities. Once the data is stored, you can use third party tools to generate graphs of your data.
RRDtool has very powerful graphing capabilities. You can write scripts to generate graphs directly from the RRD's that PyMeter populates, or you can use one of the many RRD front-ends that are available. My personal favorite front-end for RRD is Drraw. Drraw is a simple web based presentation front-end for RRDtool that allows you to interactively build graphs of your own design. This allows you to dynamically generate graphs and get a real-time view of the data while it is collected.
RRD/drraw display of PyMeter data:
(click image to enlarge)