A simple Monit collector
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


django-monit - A Simple Monit Collector


django-monit is currently very preliminary and is best for people who are comfortable installing reusable apps in Django projects.

django-monit is a very dumb (but free) replacement for M/Monit, the commerical product built around the amazing Monit management and monitoring tool.

django-monit is a reusable Django application providing a central Monit "collector" and storage of the Monit nodes' information and events. Currently, django-monit can be installed as an app within an existing Django site. In the future, a tool could build a simple Django project if someone wished to only deploy django-monit.

At this point, django-monit only acts as a collector of information from any number of Monit nodes, and can not push restart commands to the nodes as M/Monit can do.

My goal currently is to create a tool for making Monit data easily accessible from a Django project, rather than acting as a replacement for M/Monit.

django-monit has been tested on the Django 1.2 trunk using Monit 5.0.3 provided as a Ubuntu 9.10 package.


The easiest way to install django-monit is via pip:

pip install django-monit

Add 'monit' to the INSTALLED_APPS in your settings.py

Add url(r'^monit/', include('monit.urls')) in your urls.py:

urlpatterns = patterns('',
    url(r'^app/', include('yourapp.urls')),
    url(r'^monit/', include('monit.urls')),
    (r'^admin/', include(admin.site.urls)),

Configure Monit

In the monitrc, you should configure your django-monit instance as a collector:

set mmonit http://monit:monit@


  • Django (tested on pre-1.2 trunk)
  • lxml


If you have checked out the source, you can run the test suite, which uses a simple Django project in the test_project folder:

cd test_project
# create a virtualenv and install the dependencies
# run the tests
./manage.py test monit