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