Render Variables provide versatility when constructing metric queries. Instead of hard-coding full metric names, use variables as placeholders to dynamically build your queries. This is similar, but not the same as Grafana’s built-in template variables.
Note: render variables are currently not compatible with alerting, we advise against using them in alert queries.
POST /v1/variables/<var-name/
Replace <var-name> with the name you want to give the variable. Place your variable values in a JSON file and include it in the POST request. A variable name is required however the values can be empty.
Example variable values:
{
"values": [
"foobar",
"foo",
"bar",
"baz"
]
}
Curl example:
curl -X POST "https://<apikey>@api.hostedgraphite.com/v1/variables/<var-name>/" -d @values.json
Response:
{
"url": "/v1/variables/<var-name>/"
}
PUT /v1/variables/<var-name>/
Overwrites the values for an existing variable
Curl example:
curl -X PUT "https://<apikey>@api.hostedgraphite.com/v1/variables/<var-name>/" -d @values.json
Response:
{
"url": "/v1/variables/<var-name>/"
}
GET /v1/variables/?query=
Curl example:
curl -X GET "https://<apikey>@api.hostedgraphite.com/v1/variables/?query="
A “contains” query that will return a JSON object with the name and path of variables that contain the search term. To list all variables, leave the query empty.
Response:
{
"variables" : [
{
"name" : "foo",
"url" : "/v1/variables/foo/"
},
{
"name" : "bar",
"url" : "/v1/variables/bar/"
}
]
}
If you have no variables or there are no variables that match your query you will be returned with an empty object:
{
"variables": []
}
GET /v1/variables/<var-name>/
Returns a JSON object with the values assigned to <var-name>
Curl example:
curl -X GET "https://<apikey>@api.hostedgraphite.com/v1/variables/<var-name>/"
Response:
{
"values": [
"foobar",
"foo",
"bar",
"baz"
]
}
DELETE /v1/variables/<var-name>/
Example:
curl -X DELETE "https://<apikey>@api.hostedgraphite.com/v1/variables/<var-name>/"
Response:
This cannot be done with the simple query builder, you must toggle the edit mode to the free-text mode.
Refer to a render variable by including the variable name enclosed in angled brackets in your metric query.
You can place Grafana template variables within render variables by surrounding them with curly brackets.
Example:
$foo.<{$foo}_metric>.bar