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"