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"