monit-dashboard/README.md

2.5 KiB

Monit Dashboard

Description

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

CentOS

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

Requisites

  • 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.
  • Set Environment variable DOWNLOAD_API_URL. You can download the complete status report in excel format and this download feature is implemented in API /download. If you are running your app in http://10.0.0.10:8080/monit,
DOWNLOAD_API_URL=http://10.0.0.10:8080/monit/download

Run

./bin/monit-dashboard.py

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.

References

Config

  • Placed in conf/servers.json

  • Sample settings as follows:

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

Credits

License

AGPL