README.md

What?

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:

Include graphs from other dashboard?

You can include the graphs from other dashboard with the include
property in dash.yaml:

:include_graphs:
- "templates/os.basic"
- "templates/os.nfs"

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.