Configure data links and actions
Data links allow you to link to other panels, dashboards, and external resources and actions let you trigger basic, unauthenticated, API calls. In both cases, you can carry out these tasks while maintaining the context of the source panel.
Data links
With data links, you can create links that include the series name or even the value under the cursor. For example, if your visualization shows four servers, you can add a data link to one or two of them.
The link itself is accessible in different ways depending on the visualization. For the time series visualization you need to click a data point or line:

For visualizations like stat, gauge, or bar gauge you can click anywhere on the visualization to open the context menu:

If there's only one data link in the visualization, clicking anywhere on the visualization opens the link rather than the context menu.
Supported visualizations
You can configure data links for the following visualizations:
{{< column-list >}}
- Bar chart
- Bar gauge
- Candlestick
- Canvas
- Gauge
- Geomap
- Heatmap
- Histogram
- Pie chart
- Stat
- State timeline
- Status history
- Table
- Time series
- Trend
- XY chart
{{< /column-list >}}
Actions
Using actions, you can trigger processes like starting or shutting down a server, directly from a dashboard panel. API settings are configured in the Add action dialog box. You can also pass variables in the API editor.
Supported visualizations
You can configure actions for the following visualizations:
{{< column-list >}}
{{< /column-list >}}
Data link and action variables {#data-link-variables}
Variables in data links and actions let you send people to a detailed dashboard or trigger an API call with preserved data filters. For example, you could use variables to specify a label, time range, series, or variable selection.
To see a list of available variables, enter $ in the data link or action URL field.
{{< admonition type="note" >}} These variables changed in 6.4 so if you have a previous version of Grafana, then use the version picker to select docs for a previous version of Grafana. {{< /admonition >}}
Azure Monitor, CloudWatch, and Google Cloud Monitoring have pre-configured data links called deep links.
You can also use template variables in your data links or actions URLs. For more information, refer to Templates and variables.
Time range panel variables
These variables allow you to include the current time range in the data link or action URL:
| Variable | Description |
|---|---|
__url_time_range |
Current dashboard's time range (for example, ?from=now-6h&to=now). |
__from |
A specific start time. |
__to |
A specific end time. |
When you create data links and actions using time range variables like __url_time_range in the URL, you have to form the query parameter syntax yourself; that is, you must format the URL by appending query parameters using the question mark (?) and ampersand (&) syntax. These characters aren't automatically generated.
For more information about these variables, refer to the Built-in variables documentation.
Series variables
Series-specific variables are available under __series namespace:
| Variable | Description |
|---|---|
__series.name |
Series name to the URL |
Field variables
Field-specific variables are available under __field namespace:
| Variable | Description |
|---|---|
__field.name |
The name of the field |
__field.displayName |
The display name of the field. Use this for renamed field names. |
__field.labels.<LABEL> |
Label's value to the URL. If your label contains dots, then use __field.labels["<LABEL>"] syntax. |
Value variables
Value-specific variables are available under __value namespace:
| Variable | Description |
|---|---|
__value.time |
Value's timestamp (Unix ms epoch) to the URL (for example, ?time=1560268814105) |
__value.raw |
Raw value |
__value.numeric |
Numeric representation of a value |
__value.text |
Text representation of a value |
__value.calc |
Calculation name if the value is result of calculation |
Using value-specific variables in data links and actions can show different results depending on the set option of Tooltip mode.
When you create data links and actions using time range variables like __value.time in the URL, you have to form the query parameter syntax yourself; that is, you must add the question mark (?) and ampersand (&). These characters aren't automatically generated.
Data variables
To access values and labels from other fields use:
| Variable | Description |
|---|---|
__data.fields[i] |
Value of field i (on the same row) |
__data.fields["NameOfField"] |
Value of field using name instead of index |
__data.fields[1].labels.cluster |
Access labels of another field |
Template variables
When linking to another dashboard that uses template variables, select variable values for whoever clicks the link.
${var-myvar:queryparam} - where var-myvar is the name of the template variable that matches one in the current dashboard that you want to use.
| Variable state | Result in the created URL |
|---|---|
| selected one value | var-myvar=value1 |
| selected multiple values | var-myvar=value1&var-myvar=value2 |
selected All |
var-myvar=All |
The queryparam format generates the ampersand (&) within a single multi-value variable, as shown in the previous table.
However, it doesn't automatically insert an ampersand between different template variables.
When you combine multiple template variables in one URL, you must add the ampersand yourself:
/d/xxxx/dashboard-b?${var-server:queryparam}&${var-host:queryparam}
In this example, the ampersand between ${var-server:queryparam} and ${var-host:queryparam} is required.
Without it, the resulting URL is malformed.
If you want to add all of the current dashboard's variables to the URL, use ${__all_variables}.
When you link to another dashboard, ensure that:
- The target dashboard has the same variable name. If it doesn't (for example,
serverin the source dashboard andhostin the target), you must align them or explicitly map values (for example,&var-host=${server}). - You use the variable name, and not the label. Labels are only used as display text and aren't recognized in URLs.
For example, if you have a variable with the name var-server and the label ChooseYourServer, you must use var-server in the URL, as shown in the following table:
| Correct link | Incorrect link |
|---|---|
/d/xxxx/dashboard-b?orgId=1&var-server=web02 |
/d/xxxx/dashboard-b?orgId=1&var-ChooseYourServer=web02 |
Add data links or actions {#add-a-data-link}
The following tasks describe how to configure data links and actions.
{{< tabs >}} {{< tab-content name="Add data links" >}} To add a data link, follow these steps:
If you add multiple data links or actions, you can control the order in which they appear in the visualization. To reorder items, drag the data link or action to the desired position.
Panel-to-panel filtering
You can use data links to link back to the dashboard you're on. This enables "panel-to-panel filtering," where clicking a data point in one panel updates the dashboard variables and filters the rest of the dashboard.
To preserve the context of the current dashboard:
- Time range: You must explicitly include the current time range in the link.
- Variables: You must enable Include all variables to preserve current selections.
- Ordering: Place Include all variables before the specific variable you define in the link.
Filters on the current dashboard are automatically preserved. Learn more in Create dashboard URL variables > Filters.
谢谢你的反馈!