A collection of dashboards and Python jobs used with the Dashing framework.
I use Dashing to display dashboards on extra monitors around the office, mostly centered around our website operations and stats from our airline ticketing system. This is my collection of dashboards and custom jobs created for this purpose.
Data is pushed to the API using Python scripts in the webstats/jobs/
directory.
While these scripts are designed in a modular way and could be adapted to other environments, they are not intended to be in final working state for broad use. Use at your own risk.
webstats/
- The root of the dashboard as generated by the Dashing framework. This is served from a Ruby based web server.
webstats/jobs/
- The Python scripts here feed data to the dashboard.
webstats/dashboards/
- The webstats.erb file describes the dashboard layout and contains tags that identify where the Python jobs send data to.
webstats/widgets/
- HTML, CSS and CoffeeScript files that control the display of widgets.
Here's a brief description of each job:
api_session_stats.py
- Collect aggregate stats from our Web API server farm and push to dashboard graph widgets
api_tam_stats.py
- Lookup current Sabre TAM pool usage and push to dashboard graph widget
api_tam_stats_max.py
- Lookup the maximum Sabre TAM pool usage from history file and push to graph widget
web_build_stats.py
- Collect version information from our web servers in Dev, QA and production, and push to dashboard list widget; includes versions of internal website components including API, UI and CMS
api_net_stats.py
- Collect net stats.
Example usage: ./api_net_stats.py -s 'webapi01 webapi02 webapi03' -d dashinghost.internal -w apinetstats