Build Nice Graphical Interface for Your Cloud App or Server Monitoring Tool’s Dashboard with Python based Tessera with Nice Solarized Theme. Graphite is a free software for highly scalable real-time graphing system written in Python, Tessera is also written in Python. Both has extensive documentation to make them working in the way you want. Urban Airship is the company behind developing these free softwares, however the softwares are free, compatible GNU GPL 3.0 License and has the opportunity of using with lot of add ons.
Monitoring Tool’s Dashboard With Tessera : Getting Started
Official repository on Github and relevant official webpages are here :
1 2 3 4 5 6 7 8 9 10 11 | # tessera https://github.com/urbanairship/tessera # graphite https://github.com/graphite-project/graphite-web http://graphite.readthedocs.org/en/latest/overview.html # graphite and tessera will share common features http://urbanairship.com/blog/2014/06/30/introducing-tessera-a-graphite-frontend # add ons which works with both http://graphite.readthedocs.org/en/latest/tools.html # we will require gunicorn for production server https://github.com/benoitc/gunicorn |
Gunicorn is a Python HTTP Server ported from Ruby’s Unicorn project. Gunicorn server is broadly compatible with various web frameworks, including Tessera. So, practically reading the readme.md file of Tessera will be enough to run Tessera. They have given the example without Gunicorn HTTP Server.
---
Installing Monitoring Tool’s Dashboard With Tessera
One will need to have Python 2.7, node.js, a C compiler installed and node.js is used for building the web assets, node.js is not used for running the server. As we are running on Linux server (it is by default for OS X), we need to perform few extra steps :
1 2 3 4 5 6 7 8 9 10 11 12 13 | git clone git@github.com:urbanairship/tessera.git cd tessera pip install -r requirements.txt pip install -r dev-requirements.txt virtualenv . . bin/activate # install nom beforehand and then grunt-cli npm install -g grunt-cli npm install # activate grunt's interactive mode grunt # example command # grunt watch & |
We will need SQLite database for backing store :
1 | http://www.sqlite.org/download.html |
Gunicorn is easy to install :
1 | pip install -U gunicorn |
Please read the rest from Gunicorn’s repo to understand the way of usage. Application default settings are stored in tessera/config.py
, etc/config.py
can exist, which is relative to the app process’ working directory and will override the settings from the defaults file.SQLALCHEMY_DATABASE_URI
is a database URI string pointing SQLAlchemy where is your database, e.g. sqlite:///tessera.db or with PostgreSQL database postgresql://localhost/tessera
; GRAPHITE_URL
is the URL to Graphite web app, SECRET_KEY
is for secure sessions. If you want to use the demo database run :
1 2 | inv initdb inv json.import 'demo/*' |
We can run with Gunicorn in this way :
1 | unicorn <args> tessera:app |