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 compatíveis com o Grafana versão 10.x.
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 glob
será a opção padrão e de fallback.
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"