A fork of https://github.com/adriaaah/monit-dashboard that has been updated for latest web.py and python3
You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
KemoNine de8b52b899 Add timeout to dashboard, show offline status if node times out for web api 3 years ago
bin Add timeout to dashboard, show offline status if node times out for web api 3 years ago
conf Fix #1 - Typo in example config file 6 years ago
static Beautify 3 years ago
templates Beautify 3 years ago
tests Initial commit 6 years ago
.gitignore changes based on feedback 4 years ago
LICENSE Initial commit 6 years ago
README.md Merge pull request #11 from saravanan30erd/download_report 4 years ago
__init__.py Initial commit 6 years ago


Monit Dashboard


Python web application to get a dashboard of a bunch of Monit servers at a glance.

How does it work?

Every 300 seconds (hardcoded) the application ask for the data served by the Monit built-in web server in a XMl report from each configured server. Then, thanks to the built-in web server, it is displayed in a single HTML page.

Pre requisites

Debian GNU/Linux

Web.py framework

  • apt install python-webpy

Python libraries

  • apt install python-xmltodict python-requests


Python PIP

  • yum install epel-release
  • yum install python-pip

Web.py framework

  • pip install web.py

Python libaries

  • yum install python-requests python-xmltodict python-simplejson
  • pip install xlsxwriter


  • Config file conf/servers.json prior run. You might find a sample file at conf/servers.json.example.
  • Please see Config section for further details.



By default, it will be reachable at http://localhost:8080. You might change the port by adjusting app.run(port=8080) in bin/monit-dashboard.py file.



  • Placed in conf/servers.json

  • Sample settings as follows:

    "My server to monit": {
      "url": "http://example.com:2812",
      "user": "monit",
      "passwd": "*****"