A fork of https://github.com/adriaaah/monit-dashboard that has been updated for latest web.py and python3
ce5979b58f
Add download report feature |
||
---|---|---|
bin | ||
conf | ||
static | ||
templates | ||
tests | ||
.gitignore | ||
__init__.py | ||
LICENSE | ||
README.md |
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
pip install xlsxwriter
Requisites
- Config file
conf/servers.json
prior run. You might find a sample file atconf/servers.json.example
. - Please see Config section for further details.
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
- web.py 0.3 tutorial
- Learn Python the hard way, ex 50
- A template example
- How to change HTTP server port
Config
-
Placed in
conf/servers.json
-
Sample settings as follows:
{ "My server to monit": { "url": "http://example.com:2812", "user": "monit", "passwd": "*****" } }
Credits
- Original idea
- Frontend support: Júlia Vázquez
- Icons
- Accordion menu
- Enhanced features by Saravanan Palanisamy