Sintaxis de variable - Amazon Managed Grafana

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Sintaxis de variable

Este tema de documentación está diseñado para los espacios de trabajo de Grafana que admiten la versión 10.x de Grafana.

Para los espacios de trabajo de Grafana que admiten la versión 9.x de Grafana, consulte Uso de la versión 9 de Grafana.

Para los espacios de trabajo de Grafana que admiten la versión 8.x de Grafana, consulte Uso de la versión 8 de Grafana.

Los títulos de los paneles y las consultas de las métricas pueden ver las variables mediante dos sintaxis distintas.

  • $varname: esta sintaxis es más fácil de leer, pero no permite utilizar una variable en medio de una palabra.

    Ejemplo: apps.frontend.$server.requests.count

  • ${var_name}: utilice esta sintaxis cuando desee usar una variable en medio de una expresión.

  • ${var_name:<format>}: este formato le da más control sobre cómo Grafana interpreta los valores. Para obtener más información, consulte Opciones avanzadas de formato de variables debajo de esta lista.

  • [[varname]]: no la utilice. Esta sintaxis es antigua y no está disponible. Se habilitará en una versión futura.

Antes de enviar las consultas al origen de datos, la consulta se interpola, lo que significa que la variable se reemplaza por su valor actual. Durante la interpolación, es posible que el valor de la variable se escape para ajustarlo a la sintaxis del lenguaje de consulta y al lugar en el que se utiliza. Por ejemplo, una variable que se utilice en una expresión regular en una consulta de InfluxDB o Prometheus tendrá un escape de expresiones regulares.

Opciones avanzadas de formato de variables

El formato de la interpolación de variables depende del origen de datos, pero hay algunas situaciones en las que es posible que quiera cambiar el formato predeterminado.

Por ejemplo, el valor predeterminado del origen de datos de MySQL es unir varios valores separados por comas entre comillas: 'server01','server02'. En algunos casos, es posible que quiera que haya una cadena separada por comas sin comillas: server01,server02. Puede hacer que eso suceda con las opciones avanzadas de formato de variables que se enumeran a continuación.

Sintaxis general

Sintaxis: ${var_name:option}

Si se especifica alguna opción de formato no válida, glob es la opción predeterminada o alternativa.

CSV

Formatea las variables con varios valores como una cadena separada por comas.

servers = [ 'test1', 'test2' ] String to interpolate: '${servers:csv}' Interpolation result: 'test1,test2'

Distribuida: OpenTSDB

Formatea las variables con varios valores en un formato personalizado para OpenTSDB.

servers = [ 'test1', 'test2' ] String to interpolate: '${servers:distributed}' Interpolation result: 'test1,servers=test2'

Doublequote

Formatea las variables de uno o varios valores en una cadena separada por comas, escapa " en cada valor por \" y cita cada valor con ".

servers = [ 'test1', 'test2' ] String to interpolate: '${servers:doublequote}' Interpolation result: '"test1","test2"'

Glob: Graphite

Formatea las variables con varios valores en un patrón glob (para consultas de Graphite).

servers = [ 'test1', 'test2' ] String to interpolate: '${servers:glob}' Interpolation result: '{test1,test2}'

JSON

Formatea las variables con varios valores como una cadena separada por comas.

servers = [ 'test1', 'test2' ] String to interpolate: '${servers:json}' Interpolation result: '["test1", "test2"]'

Lucene: Elasticsearch

Formatea variables con varios valores en formato Lucene para Elasticsearch.

servers = [ 'test1', 'test2' ] String to interpolate: '${servers:lucene}' Interpolation result: '("test1" OR "test2")'

Percentencode

Formatea las variables de un solo valor y de varios valores para utilizarlas en los parámetros de URL.

servers = [ 'foo()bar BAZ', 'test2' ] String to interpolate: '${servers:percentencode}' Interpolation result: 'foo%28%29bar%20BAZ%2Ctest2'

Pipe

Formatea las variables con varios valores en una cadena separada por canalizaciones.

servers = [ 'test1.', 'test2' ] String to interpolate: '${servers:pipe}' Interpolation result: 'test1.|test2'

Sin formato

Desactiva el formato específico del origen de datos, como las comillas simples en una consulta SQL.

servers = [ 'test.1', 'test2' ] String to interpolate: '${var_name:raw}' Interpolation result: 'test.1,test2'

Regex

Formatea las variables con varios valores en una cadena de expresiones regulares.

servers = [ 'test1.', 'test2' ] String to interpolate: '${servers:regex}' Interpolation result: '(test1\.|test2)'

Singlequote

Formatea las variables de uno o varios valores en una cadena separada por comas, escapa ' en cada valor por \' y cita cada valor con '.

servers = [ 'test1', 'test2' ] String to interpolate: '${servers:singlequote}' Interpolation result: "'test1','test2'"

Sqlstring

Formatea las variables de uno o varios valores en una cadena separada por comas, escapa ' en cada valor por '' y cita cada valor con '.

servers = [ "test'1", "test2" ] String to interpolate: '${servers:sqlstring}' Interpolation result: "'test''1','test2'"

Text

Formatea las variables de un solo valor y de varios valores para incluirlas en su representación textual. Para una sola variable, simplemente devolverá la representación de texto. Para las variables con varios valores, devolverá la representación de texto combinada con +.

servers = [ "test1", "test2" ] String to interpolate: '${servers:text}' Interpolation result: "test1 + test2"

Parámetros de consulta

Formatea las variables de un solo valor y de varios valores para incluirlas en su representación de parámetro de consulta. Ejemplo: var-foo=value1&var-foo=value2

servers = [ "test1", "test2" ] String to interpolate: '${servers:queryparam}' Interpolation result: "var-servers=test1&var-servers=test2"