Wavefront data source for Grafana
The Grafana Wavefront data source plugin allows Grafana users to query and visualize the data they’re collecting directly from Wavefront and easily visualize it alongside any other metric, log, tracing, or other data source. This flexible, single-pane view makes it easier to track system health and debug issues.
Maximizing your tech stack with Wavefront and Grafana
While on the surface, Grafana and Wavefront may sound similar, many organizations use both Wavefront and Grafana as critical parts of their observability workflows.
Visualize without Moving Data Sources: Grafana’s unique architecture queries data directly where it lives rather than moving it and paying for redundant storage and ingestion.
Compose Panels from Varied Sources With pre-built and custom dashboards, bring data together from many different data sources into a single pane of glass.
Transform and Compute at the User Level: Users can transform data and run various computations on data they see, requiring less data preparation.
Combine, Compute, and Visualize within Panels: Create mixed-datasource panels that display related data from Wavefront and other sources, like Prometheus and InfluxDB.
The Wavefront data source has the following requirements:
- Grafana Enterprise with a valid license
- Grafana user with a server admin or org admin role
- Wavefront user who can generate an API key.
Template variables with
Include All option are currently not supported by the Wavefront plugin.
Install the Wavefront data source plugin
To install the data source, refer to Installation
You will need your Wavefront API token to use this plugin. Either generated from an API token from an user account or a service account.
From a user account
- Log into your Wavefront environment.
- Click the cog in the top right corner of the page and select your username (e.g.
- Select the
API Accesstab at the top of the user page.
- Copy an existing key or click
generate. Paste this token when configuring the data source in Grafana.
From a service account
- Log into your Wavefront environment.
- Click the cog on the top right corner of the page and select account management.
- On the left hand navigation select
Accounts, Groups, & Roles
- At the top select the
Service Accountsand click
Create New Account.
- Enter a name for the service account.
- Copy the token that is provided under the
Tokenssection to paste when configuring the data source in Grafana.
- Make sure you have the
Accounts, Groups, & Rolescheck box selected under
Configure the data source in Grafana
Add a data source by filling in the following fields:
|API URL||The URL you use to access your wavefront environment. e.g.
|Token||Your API token from Wavefront. To learn more refer to Configure Wavefront|
|Request Timeout||Wavefront query timeout duration in seconds. If left blank 30 seconds will be set to default|
Configure the data source with provisioning
It is possible to configure data sources using config files with Grafana’s provisioning system. You can read more about how it works and all the settings you can set for data sources on the provisioning docs page
apiVersion: 1 datasources: - name: Wavefront type: grafana-wavefront-datasource access: proxy basicAuth: false editable: true enabled: true jsonData: url: Wavefront environment URL requestTimeout: 30 secureJsonData: token: Wavefront API token
Query the data source
The Wavefront query editor has two modes:
Query Builder and
Raw Query. To toggle between them, use the selector in the top right of the query form.
- The metric selector is a categorized hierarchy. Select a category, then click again to drill into the subcategories. Repeat this process until you have reached your desired metric.
- After selecting a metric, the available filters and filter values will be automatically populated for you.
- Select an aggregation method to preform on this metric query.
- Filter the results from this metric query.
- The Wavefront plugin will dynamically query the appropriate filters for each metric.
- Click on the
+button to add a filter. Click on the trashcan button to delete a filter.
- After creating a filter select a key and value from their respective dropdowns.
- If multiple filters are applied you can change the conjunction by clicking on the conjunction and selecting from the dropdown.
- Functions provide an additional way to aggregate, manipulate, and perform calculations on the metric response data. To view the available functions, click the drop down by the function label on the
- Based on the function you select, you will be able to perform further actions such as setting a group by field or applying thresholds. Multiple functions can be chained together to perform advanced calculations or data manipulations.
Raw Query mode, you will see a single field labeled
Query. This allows you to run any WQL query that you desire.
Templates and variables
To add a new Wavefront query variable, refer to Add a query variable. Use your Wavefront data source as your data source for the following available queries:
|metrics: ts(…)||List of metrics|
|sources: ts(…)||List of sources|
|sourceTags: ts(…)||List of source tags|
|matchingSourceTags: ts(…)||List of matching source tags|
|tagNames: ts(…)||List of tag names|
|tagValues(<tag>): ts(…)||List of tag values|
sat the end of each query type is optional
Support for all lowercase. You can use
tagNames, but not
white spaces around the
Include All optionare currently not supported by the Wavefront plugin.
Import a dashboard for Wavefront
Follow these instructions for importing a dashboard. Imported dashboards can be found in Configuration > Data Sources > select your Wavefront data source > select the Dashboards tab to see available pre-made dashboards.
Get the most out of the plugin
- Add Annotations.
- Configure and use Templates and variables.
- Add Transformations.
- Set up alerting; refer to Alerts overview.
Using Display Name
This plugin uses the Display Name field in the Field tab of the Options panel (available in Grafana v7.0+) to shorten or alter a legend key based on its name, labels, or values. Other datasources use custom
alias functionality to modify legend keys, but the Display Name function is a more consistent way to do so. Documentation for the Display Name field option is in the Grafana docs.
Using Ad-Hoc Filters
To use ad-hoc filters, we must create two template variables. The first one is a helper variable that will be used to select a metric so that add-hoc filters can be populated for that metric name. The other will be the actual ad-hoc filter variable.
The helper variable that is required has to be named
metriclink. This can be an custom variable with the list of metrics that you’d like to use or a query based variable using the Template Variable Query Structure. If you would like to populate the ad-hoc filter fields with only the values from a single metric, you can hide the
metriclink template variable.
After creating the
metriclink variable, you can now add the ad-hoc filter by following the same steps detailed in Adding a Query Template Variable. The difference being that you will select
Ad Hoc Filters as the
Type and no inputs are required for a query.
If you followed the steps correctly, your dashboard should look like so: