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 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"