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 de variáveis
Este tópico de documentação foi desenvolvido para espaços de trabalho do Grafana que oferecem suporte à versão 9.x do Grafana.
Para espaços de trabalho do Grafana compatíveis com a versão 8.x do Grafana, consulteTrabalhando na versão 8 do 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 usar 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 o Grafana interpreta os valores. Para obter mais informações, consulte Opções avançadas de formato variável. -
[[varname]]
— Não use. Essa sintaxe é antiga e foi descontinuada. Esse sinalizador será removido em um release future.
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 estar em conformidade com a 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álidaglob
for especificada, será a opção padrão/alternativa.
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 o 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 por\"
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 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")'
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 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 múltiplo em uma string separada por vírgula, escapa'
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 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"