Python web application to get a dashboard of a bunch of Monit servers at a glance.
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.
apt install python-webpy
apt install python-xmltodict python-requests
yum install epel-release
yum install python-pip
pip install web.py
yum install python-requests python-xmltodict python-simplejson
pip install xlsxwriter
- Config file
conf/servers.json
prior run. You might find a sample file atconf/servers.json.example
. - Please see Config section for further details.
- Build the image once:
docker build -t monit-dashboard .
- Spin up a container:
docker run -v $(pwd)/conf:/app/conf -p 8080:8080 monit-dashboard
- Point your browser to http://localhost:8080
./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.
- web.py 0.3 tutorial
- Learn Python the hard way, ex 50
- A template example
- How to change HTTP server port
-
Placed in
conf/servers.json
-
Sample settings as follows:
{ "My server to monit": { "url": "http://example.com:2812", "user": "monit", "passwd": "*****" } }
- Original idea
- Frontend support: Júlia Vázquez
- Icons
- Accordion menu
- Enhanced features by Saravanan Palanisamy