View a markdown version of this page

Sintaxe da variável - Amazon Managed Grafana

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Sintaxe da variável

Este tópico de documentação foi desenvolvido para espaços de trabalho do Grafana que oferecem suporte ao Grafana versão 12.x.

Para espaços de trabalho do Grafana compatíveis com o Grafana versão 10.x, consulte Trabalhar no Grafana versão 10.

Para espaços de trabalho do Grafana compatíveis com o Grafana versão 9.x, consulte Trabalhar no Grafana versão 9.

Para espaços de trabalho do Grafana compatíveis com o Grafana versão 8.x, consulte Trabalhar no Grafana versão 8.

Títulos de painéis e consultas de métricas podem se referir a variáveis usando duas sintaxes diferentes.

  • $varname: esta sintaxe é fácil de ler, mas não permite que você use uma variável no meio de uma palavra.

    Exemplo: apps.frontend.$server.requests.count

  • ${var_name}: use esta sintaxe quando quiser usar uma variável no meio de uma expressão.

  • ${var_name:<format>}: este formato lhe dá mais controle de como o Grafana interpreta valores. Para obter mais informações, consulte Opções avançadas de formato de variáveis, após esta lista.

  • [[varname]]: não use. Esta sintaxe é antiga e foi descontinuada. Ela será removida em uma versão futura.

Antes de as consultas serem enviadas à fonte de dados, a consulta é interpolada, o que significa que a variável é substituída por seu valor atual. Durante a interpolação, o valor da variável pode ser de escape para se adequar à sintaxe da linguagem de consulta e onde ela é usada. Por exemplo, uma variável usada em uma expressão regex em uma consulta do InfluxDB ou Prometheus terá escape regex.

Opções avançadas de formato de variáveis

A formatação da interpolação de variável depende da fonte de dados, mas há algumas situações em que talvez você queira alterar a formatação padrão.

Por exemplo, o padrão para a fonte de dados MySQL é unir vários valores separados por vírgula com aspas: 'server01','server02'. Em alguns casos, você pode desejar ter uma string separada por vírgulas sem aspas: server01,server02. Você pode fazer isso acontecer com as opções avançadas de formatação de variáveis listadas abaixo.

Sintaxe geral

Sintaxe: ${var_name:option}

Se alguma opção de formatação inválida for especificada, então será glob a default/fallback opção.

CSV

Formata variáveis com vários valores como uma string separada por vírgulas.

servers = [ 'test1', 'test2' ] String to interpolate: '${servers:csv}' Interpolation result: 'test1,test2'

Distribuído - OpenTSDB

Formata variáveis com vários valores em formato personalizado para OpenTSDB.

servers = [ 'test1', 'test2' ] String to interpolate: '${servers:distributed}' Interpolation result: 'test1,servers=test2'

Doublequote

Formata variáveis de valor único e vários valores em uma string separada por vírgula, faz o escape de " em cada valor por \" e cita cada valor com ".

servers = [ 'test1', 'test2' ] String to interpolate: '${servers:doublequote}' Interpolation result: '"test1","test2"'

Glob - Graphite

Formata variáveis com vários valores em um glob (para consultas do Graphite).

servers = [ 'test1', 'test2' ] String to interpolate: '${servers:glob}' Interpolation result: '{test1,test2}'

JSON

Formata variáveis com vários valores como uma string separada por vírgulas.

servers = [ 'test1', 'test2' ] String to interpolate: '${servers:json}' Interpolation result: '["test1", "test2"]'

Lucene - Elasticsearch

Formata variáveis com vários valores no formato Lucene para Elasticsearch.

servers = [ 'test1', 'test2' ] String to interpolate: '${servers:lucene}' Interpolation result: '("test1" OR "test2")'

Percentencode

Formata variáveis de valor único e de vários valores para uso em parâmetros de URL.

servers = [ 'foo()bar BAZ', 'test2' ] String to interpolate: '${servers:percentencode}' Interpolation result: 'foo%28%29bar%20BAZ%2Ctest2'

Barra vertical

Formata variáveis com vários valores como uma string separada por barras verticais.

servers = [ 'test1.', 'test2' ] String to interpolate: '${servers:pipe}' Interpolation result: 'test1.|test2'

Bruto

Desativa a formatação específica da fonte de dados, como aspas simples em uma consulta SQL.

servers = [ 'test.1', 'test2' ] String to interpolate: '${var_name:raw}' Interpolation result: 'test.1,test2'

Regex

Formata variáveis com vários valores como uma string regex.

servers = [ 'test1.', 'test2' ] String to interpolate: '${servers:regex}' Interpolation result: '(test1\.|test2)'

Singlequote

Formata variáveis de valor único e vários valores em uma string separada por vírgula, faz o escape de ' em cada valor por \' e cita cada valor com '.

servers = [ 'test1', 'test2' ] String to interpolate: '${servers:singlequote}' Interpolation result: "'test1','test2'"

Sqlstring

Formata variáveis de valor único e vários valores em uma string separada por vírgula, faz o escape de ' em cada valor por '' e cita cada valor com '.

servers = [ "test'1", "test2" ] String to interpolate: '${servers:sqlstring}' Interpolation result: "'test''1','test2'"

Texto

Formata variáveis de valor único e de vários valores em sua representação de texto. Para uma única variável, ele retornará apenas a representação do texto. Para variáveis de vários valores, ele retornará a representação de texto combinada com +.

servers = [ "test1", "test2" ] String to interpolate: '${servers:text}' Interpolation result: "test1 + test2"

Parâmetros de consulta

Formata variáveis de valor único e de vários valores como a representação de parâmetro de consulta. Exemplo: var-foo=value1&var-foo=value2

servers = [ "test1", "test2" ] String to interpolate: '${servers:queryparam}' Interpolation result: "var-servers=test1&var-servers=test2"