2020-07-10 20:09:17 -04:00
---
stage: Monitor
2022-01-27 13:14:37 -05:00
group: Respond
2022-09-21 17:13:33 -04:00
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/product/ux/technical-writing/#assignments
2020-07-10 20:09:17 -04:00
---
2022-01-11 13:16:38 -05:00
# Using variables (DEPRECATED) **(FREE)**
> [Deprecated](https://gitlab.com/gitlab-org/gitlab/-/issues/346541) in GitLab 14.7.
WARNING:
This feature is in its end-of-life process. It is [deprecated ](https://gitlab.com/gitlab-org/gitlab/-/issues/346541 )
2022-04-14 20:08:23 -04:00
in GitLab 14.7, and is planned for removal in GitLab 16.0.
2020-07-10 20:09:17 -04:00
2020-07-22 17:09:50 -04:00
## Query variables
2020-07-10 20:09:17 -04:00
2021-10-04 14:12:46 -04:00
> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/20793) in GitLab 12.7.
Variables can be specified using double curly braces, such as `"{{ci_environment_slug}}"` .
2020-07-10 20:09:17 -04:00
Support for the `"%{ci_environment_slug}"` format was
[removed ](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/31581 ) in GitLab 13.0.
2020-11-18 10:09:08 -05:00
Queries that continue to use the old format display no data.
2020-07-10 20:09:17 -04:00
## Predefined variables
2021-06-28 11:08:03 -04:00
GitLab supports a limited set of [CI/CD variables ](../../../ci/variables/index.md )
2020-10-08 20:08:41 -04:00
in the Prometheus query. This is particularly useful for identifying a specific
environment, for example with `ci_environment_slug` . Variables for Prometheus queries
must be lowercase. The supported variables are:
2020-07-10 20:09:17 -04:00
2020-09-01 20:10:29 -04:00
- `environment_filter`
2020-07-10 20:09:17 -04:00
- `ci_environment_slug`
- `kube_namespace`
- `ci_project_name`
- `ci_project_namespace`
- `ci_project_path`
- `ci_environment_name`
- `__range`
2020-09-01 20:10:29 -04:00
### environment_filter
`environment_filter` is automatically expanded to `container_name!="POD",environment="ENVIRONMENT_NAME"`
where `ENVIRONMENT_NAME` is the name of the current environment.
For example, a Prometheus query like `container_memory_usage_bytes{ {{environment_filter}} }`
becomes `container_memory_usage_bytes{ container_name!="POD",environment="production" }` .
2020-07-10 20:09:17 -04:00
### __range
The `__range` variable is useful in Prometheus
[range vector selectors ](https://prometheus.io/docs/prometheus/latest/querying/basics/#range-vector-selectors ).
Its value is the total number of seconds in the dashboard's time range.
For example, if the dashboard time range is set to 8 hours, the value of
`__range` is `28800s` .
## User-defined variables
[Variables can be defined ](../../../operations/metrics/dashboards/yaml.md#templating-templating-properties ) in a custom dashboard YAML file.
2020-10-23 14:08:31 -04:00
Variable names are case-sensitive.
2020-07-22 17:09:50 -04:00
## Query variables from URL
2020-07-10 20:09:17 -04:00
> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/214500) in GitLab 13.0.
GitLab supports setting custom variables through URL parameters. Surround the variable
name with double curly braces (`{{example}}`) to interpolate the variable in a query:
```plaintext
avg(sum(container_memory_usage_bytes{container_name!="{{pod}}"}) by (job)) without (job) /1024/1024/1024'
```
The URL for this query would be:
```plaintext
2021-10-04 14:12:46 -04:00
https://gitlab.com/< user > /< project > /-/environments/< environment_id > /metrics?dashboard=.gitlab%2Fdashboards%2Fcustom.yml& pod=POD
2020-07-10 20:09:17 -04:00
```