Menu

Tree [138eaa] master /
 History

HTTPS access


File Date Author Commit
 bin 2008-01-27 oubiwann oubiwann [bba193] * Added a process client for calling command li...
 contrib 2011-12-12 Duncan McGreggor Duncan McGreggor [78fa34] * Created a contrib dir and moved the daemontoo...
 docs 2011-12-15 Duncan McGreggor Duncan McGreggor [3da12f] 2011.12.15
 etc 2012-01-05 Duncan McGreggor Duncan McGreggor [138eaa] Added missing config example.
 pymon 2012-01-05 Duncan McGreggor Duncan McGreggor [7eeab6] 2012.01.05
 static 2011-12-12 Duncan McGreggor Duncan McGreggor [5170b1] * Removed the unnecessary dir depth in static.
 third-party 2011-12-14 Duncan McGreggor Duncan McGreggor [1b69b8] 2011.12.14
 .gitignore 2011-12-13 Duncan McGreggor Duncan McGreggor [8f1b70] 2011.12.13
 ChangeLog 2012-01-05 Duncan McGreggor Duncan McGreggor [138eaa] Added missing config example.
 LICENSE 2008-02-19 oubiwann oubiwann [729ec2] Updated license.
 MANIFEST.in 2011-12-14 Duncan McGreggor Duncan McGreggor [1b69b8] 2011.12.14
 Makefile 2011-12-28 Duncan McGreggor Duncan McGreggor [d04700] More makefile tweaks.
 README.rst 2011-12-12 Duncan McGreggor Duncan McGreggor [477287] Renamed the install file.
 setup.py 2011-12-14 Duncan McGreggor Duncan McGreggor [1b69b8] 2011.12.14

Read Me

source and installation

The following locations currently mirror the source for pymon:

For further instructions on installation, please see the docs/INSTALL.rst file.

running pymon

If the python scripts bin dir is in your path, you can just run the following:

sudo pymond

If not, you can add that to your path, but you may as well add /usr/local/pymon/bin to your path too ;-) Then you can run that command. If you prefer to not make PATH changes, just run it like this:

sudo PYMON_PREFIX/bin/pymond

(The default would be "sudo /usr/local/pymon/bin/pymond").

If you would like to run this under daemontools, and you have daemontools installed, all you have to do is the following:

  • edit service/run and make sure that it points to your twistd and pymon.tac, and
  • ln -s PREFIX/service /service/pymond

If you are running a development version of pymon in your working directory (svn co), then run the following:

sudo ./bin/pymond

Now you should be up and running.

apache virtual hosts

You can also run pymon under apache configured as a virtual host. Here's how you'd do that:

<VirtualHost *:80>
    ServerAdmin netadmin@mycompany.com
    ServerName pymon.mycompany.com
    ProxyPass / http://localhost:8080/vhost/http/pymon.mycompany.com/
</VirtualHost>

ngix virtual hosts

TBD

lighttpd virtual hosts

TBD

plugin list

The currently defined monitor types are as follows:

  • ping
  • http status

port numbers

How the port numbers were chosen:

>>> from adytum.util import numerology
>>> numerology.getNumerologicalValue('adytum pymon service web')
3293
>>> numerology.getNumerologicalValue('adytum pymon service xml-rpc')
3298

development

creating a new monitor

If you want to add more monitoring types, you will need to:

  • add the type to etc/pymon.conf
  • add the configuration to etc/schema.xml
  • add a new PyMonXXX protocol subclass to lib/protocols.py to handle data processing and saving.
  • add a XXXMonitor class lib/monitors.py, inheriting from MonitorMixin and an appropriate FactoryClass
  • update AbstractFactory in lib/monitors.py with a dispatch method for instantiating your new monitor class
  • enable the new monitoring type in etc/pymon.conf
  • rebuild pymon with 'python setup.py install'

For more details, see the development guide: docs/HACKING.txt

contributing

Plans for development are being migrated from the docs/TODO file to a more formal location using a system specifically designed for targeting feature development in open source software:

https://blueprints.launchpad.net/pymon

If the feature you would like to see implemented is not there, feel free to propose one for discussion.