TopGit tracks ripienaar/gdash on GitHub. The project has 750 stars. A dashboard for Graphite
Snapshot summary built from the project's own GitHub metadata — there's no written TopGit review yet. The page will update automatically when a full review is published.
WHY NO REVIEW YET
TopGit writes full reviews for the most-starred, most-requested repositories. This page is a snapshot until then — see the READ ME tab for the original README in full.
A simple Graphite dashboard built using Twitter's Bootstrap.
Adding new dashboards is very easy and individual graphs are
described using a small DSL.
See the sample directory for a sample dashboard configuration.
Config?
This dashboard is a Sinatra application, I suggest deploying it
in Passenger or other Sinatra application server.
A sample gdash.yaml-sample is included, you should rename it to
gdash.yaml and adjust the url to your Graphite etc in there.
The SinatraApp class take two required arguments:
* Where graphite is installed
* The directory that has your _dashboards_ directory full of templates
and additional options:
* The title to show at the top of your Graphite
* A prefix to prepend to all URLs in the dashboard
* How many columns of graphs to create, 2 by default.
* How often dashboard page is refreshed, 60 sec by default.
* The width of the graphs, 500 by default
* The height of the graphs, 250 by default
* Where your whisper files are stored - future use
* Optional interval quick filters
Creating Dashboards?
You can have multiple top level categories of dashboard. Just create directories
in the templatedir for each top level category.
In each top level category create a sub directory with a short name for each new dashboard.
You need a file called dash.yaml for each dashboard, here is a sample:
:name: Email Metrics
:description: Hourly metrics for the email system
Then create descriptions in files like cpu.graph in the same directory, here
is a sample:
title "Combined CPU Usage"
vtitle "percent"
area :stacked
description "The combined CPU usage for all Exim Anti Spam servers"
field :iowait, :scale => 0.001,
:color => "red",
:alias => "IO Wait",
:data => "sumSeries(derivative(mw*munin.cpu.iowait))"
field :system, :scale => 0.001,
:color => "orange",
:alias => "System",
:data => "sumSeries(derivative(mw*.munin.cpu.system))"
field :user, :scale => 0.001,
:color => "yellow",
:alias => "User",
:data => "sumSeries(derivative(mw*.munin.cpu.user))"
The dashboard will use the description field to show popup information bubbles
when someone hovers over a graph with their mouse for 2 seconds.
The graphs are described using a DSL that has its own project and documented
over at https://github.com/ripienaar/graphite-graph-dsl/wiki
At the moment we do not support the Related Items feature of the DSL.
Template Directory Layout?
The directory layout is such that you can have many groupins of dashboards each with
many dashboards underneath it, an example layout of your templates dir would be:
This will display the email dashboard with a time interval same day last week.
If you hit /dashboard/email/time/ it will default to the past hour (-1hour)
See http://graphite.readthedocs.org/en/1.0/url-api.html#from-until for more info
acceptable from and until values.
Quick interval filters shown in interface are configurable in gdash.yaml options sections. Eg:
:options:
:interval_filters:
- :label: Last Hour
:from: -1h
:to: now
- :label: Last Day
:from: -1day
- :label: Current Week
:from: monday
:to: now
Quick filter is not shown when interval_filters section is missing in configuration file.
Time Intervals Display?
If you configure time intervals in the config file you can click on any graph in
the main dashboard view and get a view with different time intervals of the same
graph
Load dashboard properties from a external YAML file?
If you got a set of common properties that you want to reuse in the
dashboard, you can load a external yaml file from in dash.yaml.
The path is relative to the templatedir and it does not support
recursive includes.
Examples are a list of server colors, timezones, etc. In dash.yaml:
:graph_properties:
:background_color: white
:foreground_color: black
You can create an optional YAML file templatedir/print.yml that will be loaded when printing.
This way you can override additional properties or use custom colors for printing.
TopGit's last sync did not record any GitHub topics for ripienaar/gdash. GitHub topics appear in the right sidebar of a repository page; that's the authoritative place to check.
How active is development on ripienaar/gdash?
The most recent commit recorded on ripienaar/gdash was 5.7 years ago, based on the GitHub push timestamp. The repository has 113 forks — one of the better signals of community interest.
Is ripienaar/gdash open source?
Yes — ripienaar/gdash ships under the Apache-2.0 license, which makes its source code freely readable (and, depending on license terms, forkable and reusable). Source: github.com/ripienaar/gdash.
What license does ripienaar/gdash use?
ripienaar/gdash is released under the Apache-2.0 license. Always verify the LICENSE file directly on GitHub for the authoritative terms — license strings can be edited out of sync with a project's actual stance.
Where can I see ripienaar/gdash in action?
The project maintains a homepage at http://www.devco.net/. The README tab on this page also usually contains screenshots and a quickstart.
Where do I read more about ripienaar/gdash?
This TopGit page is a snapshot — the READ ME tab shows the project's own README content (links stripped, images preserved). The GitHub repository at github.com/ripienaar/gdash is the definitive source.
Read full README in the tab above.
Is gdash worth your time?
ChatGPT, Claude and Perplexity can all read this page. Ask one of them what it makes of gdash.