Hosted Graphite has several options for dashboards - this guide walks through setting up a Graphite dashboard. The other options are Hosted Graphite Primary Dashboards, and tasseo.
In the following guide, we’ll walk you through creating a simple graph for a chosen metric, and adding that to a dashboard that you can bookmark for quick access. If you haven’t sent any metrics to Hosted Graphite yet, check out our Getting Started Guide.
In this example, we’re using a metric called conc_users - the number of users logged into our imaginary application. We have been sending the metric value (such as the one below) once a minute to Hosted Graphite for the last day.
conc_users 1215
Let’s setup a graph for our conc_users metric. Log into Hosted Graphite, and click on the Composer link at the top:
When that opens, you’ll be presented with a blank composer dialog. On the tree on the left hand side, expand the ‘Graphite’ folder. This will contain all the metrics sent using the API Key associated with your account. At the moment, there’s only one entry - our demo conc_user metric, so we click on that.
Tip: If you’re going to be sending a wide range of metrics to a Hosted Graphite account, this ‘Graphite’ folder could soon have an unmanageable number of entries. Using periods in your metric names will introduce a folder structure, allowing for logical grouping of your metrics. E.g. servers.mario.memory.free will result in Graphite\servers\mario\memory\free in the tree above. See the Graphite Project website for more info.
When we click on our conc_users metric, Graphite will render a graph of a recent selection that metric data:
A graph of the conc_user metric after clicking on the conc_user entry
If you’ve tried the above but see an empty graph, then consult our Troubleshooting Guide.
The next thing we do is to choose how much of our data we’re going to sample. We have two options, via the following icons:
Tip - If you make changes but the graph doesn’t update automatically, use the Update Graph button to trigger a refresh of the graph.
In this example, we want a view of the last 12 hours of the conc_users metric, so click Select Recent Data and enter the appropriate values.
There are many options to make your data more presentable. At the bottom of the composer window, you’ll find a group of menus. These contain various functions to let you apply data transformations, labeling and styling to your graph:
In this example, we’ll use only a few of the many available options. You can find more information about the menus in the graph menu guide. Let’s make the following adjustments to our graph:
This results in the following:
Click on the floppy disk icon in the composer toolbar to save. You’ll be prompted for a name, enter Site Visitors and click OK. Your graph is now saved, and can be recalled at any time by browsing My Graphs in the left hand window of the Composer.
The final step in this tutorial is to create a bookmarkable dashboard and add your graph for display. Having followed the tutorial above, we will have a new Site Visitors graph in our account. Go to the Dashboard link in your Hosted Graphite account:
When you first open the dashboard page, you’ll be presented with a blank dashboard. Go to Graphs -> New Graph -> From Saved Graph
In the dialog that opens, an entry called Site Visitors will appear. Choose it and then click Select. Your graph will appear in the dashboard. Let’s make our graph a little bigger. Click on Graphs -> Resize, and choose the Custom option. Enter in a width of 800 and a height of 500 (or whatever suits your display).
Tip You can further customize the graphs for this dashboard instance by clicking a graph once to focus it, and clicking once more to bring up a configuration menu (This is the same menu we used when creating the graph - See Graphite Graph Menu Reference for more info).
To save your finished dashboard, click Dashboard -> Save As and enter a name, e.g. MainSiteDash.
To get a bookmarkable URL (which will directly open this dashboard instance), click on Share in the menu. A dialog will appear (you may be asked to save again) containing a URL that you can copy.
Finally, you can see all dashboards that you own by clicking Dashboard -> Finder. A dialog will appear with a list of all the dashboards that you have saved.
Graph Data
In Creating A Dashboard, we created a simple graph with some basic styling. Graphite offers many more configuration options. You have the ability to show multiple metrics in the same graph, apply transformations to the metric data, or combine metrics before rendering. All of these advanced features are found via the Graph Data button:
Each time a metric is selected (in the tree of metrics), an entry called a ‘target’ is added to the Graph Data dialog. For example, had we clicked on metric \servers\smithers\users_authed and then metric \servers\smithers\users_guest in the composer, the Graph Data dialog would contain two targets as follows (which would each result in a line on the graph):
Wildcards
Sometimes we want to display groups of common metrics. Rather than manually adding each metric as a target, we can use wildcards to specify multiple metrics as one target. Using the Edit button in the Graph Data dialog, we can manually specify the target as in the following examples:
Graph Performance
If you have many metrics stored with us, and your graphs are taking a long time to load, chances are that your wildcard use is the first place you should look. Try to avoid wildcards such as the following
servers.*.*.cpu
In this case, every single metric matched by this wildcard will be queried, even if many of those metrics don’t have data for the selected time range. Multiple, but narrower targets in a graph may result in faster load times than one widely defined target.
In our example above, perhaps all we care about are our metrics regarding public-facing machines, but our wildcard is also including metrics from our production or staging machines. In this scenario, we replace the single target with two narrower targets, e.g.:
servers.production.*.cpu
servers.staging.*.cpu
Data Transformations
Now that we’ve defined which metrics we’re interested in, we can perform transformations on them. Back in the Graph Data dialog, when we select a target (or multiple targets), we can use the Apply Function menu to alter or combine our targets in some way. When a function is applied to a target, you’ll notice that the target’s text changes, eg
before: original_target_text
after: functionName(original_target_text) or
functionName(original_target_text, optional_params..)
Eg, if we selected conc_users, and clicked Apply Function –> Transform –> Derivative, the target text would now say
derivative(conc_users)
The graph should automatically update to show the derivative of our conc_users metric. If not, click the refresh button. If several transformations are applied to a target, the function calls are nested, with the most recent one on the outside. E.g.
lastFunction(secondFunction(firstFunction(original_target)))
To undo a function you just applied, click the target and use the Undo Function. The outermost function will be removed from the target text. You don’t have to use the Apply Function menu - you may also select your target, click Edit, then manually edit the target text by hand.
A quick summary of the Apply Function menu is as follows. Some functions are used on multiple targets (either by selecting multiple entries in the dialog, using wildcards, or both). More information about functions can be found on the Functions page on the Graphite Docs Page.