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 variável
Este tópico de documentação foi desenvolvido para espaços de trabalho do Grafana que oferecem suporte à versão 10.x do Grafana.
Para espaços de trabalho do Grafana que suportam a versão 9.x do Grafana, consulte. Trabalhando na versão 9 do Grafana
Para espaços de trabalho do Grafana que suportam a versão 8.x do Grafana, consulte. Trabalhando na versão 8 da Grafana
Os títulos dos painéis e as consultas métricas podem se referir a variáveis usando duas sintaxes diferentes.
-
$varname
— Essa 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 essa sintaxe quando quiser usar uma variável no meio de uma expressão. -
${var_name:<format>}
— Esse formato oferece mais controle sobre como a Grafana interpreta os valores. Para obter mais informações, consulte Opções avançadas de formato de variável, seguindo esta lista. -
[[varname]]
— Não use. Essa sintaxe é antiga e foi descontinuada. Ele será removido em uma versão futura.
Antes de as consultas serem enviadas à sua 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 escapado 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 InfluxDB ou Prometheus terá escape de regex.
Opções avançadas de formato variável
A formatação da interpolação de variáveis 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 querer ter uma string separada por vírgula 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, será a opção glob
padrão/alternativa.
CSV
Formata variáveis com vários valores como uma string separada por vírgula.
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'
Citação dupla
Formata variáveis de valor único e múltiplo em uma string separada por vírgula, escapa "
em cada valor \"
e cita cada valor com. "
servers = [ 'test1', 'test2' ] String to interpolate: '${servers:doublequote}' Interpolation result: '"test1","test2"'
Glob - Grafite
Formata variáveis com vários valores em um globo (para consultas de grafite).
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írgula.
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")'
Código percentual
Formata variáveis de valor único e múltiplo para uso em parâmetros de URL.
servers = [ 'foo()bar BAZ', 'test2' ] String to interpolate: '${servers:percentencode}' Interpolation result: 'foo%28%29bar%20BAZ%2Ctest2'
Tubo
Formata variáveis com vários valores em uma string separada por tubos.
servers = [ 'test1.', 'test2' ] String to interpolate: '${servers:pipe}' Interpolation result: 'test1.|test2'
Cru
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 em uma string regex.
servers = [ 'test1.', 'test2' ] String to interpolate: '${servers:regex}' Interpolation result: '(test1\.|test2)'
Citação única
Formata variáveis de valor único e múltiplo em uma string separada por vírgula, escapa '
em cada valor \'
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 múltiplo em uma string separada por vírgula, escapa '
em cada valor ''
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 múltiplo em sua representação de texto. Para uma única variável, ela 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 múltiplo em sua representação de parâmetros 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"