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 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 ver los espacios de trabajo de Grafana que admiten la versión 9.x de Grafana, consulte. Trabajando en Grafana versión 9
Para ver los espacios de trabajo de Grafana que admiten la versión 8.x de Grafana, consulte. Trabajando en Grafana versión 8
Los títulos de los paneles y las consultas métricas pueden hacer referencia a variables mediante dos sintaxis diferentes.
-
$varname
— Esta sintaxis es fácil de leer, pero no permite utilizar una variable en mitad de una palabra.Ejemplo:
apps.frontend.$server.requests.count
-
${var_name}
— Utilice esta sintaxis cuando desee utilizar una variable en medio de una expresión. -
${var_name:<format>}
— Este formato te da más control sobre cómo Grafana interpreta los valores. Para obtener más información, consulte Opciones avanzadas de formato variable, siguiendo esta lista. -
[[varname]]
— No utilizar. Esta sintaxis es antigua y ha quedado obsoleta. Se eliminará en una versión futura.
Antes de enviar las consultas a la fuente 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 ajustarse a la sintaxis del lenguaje de consulta y al lugar en el que se utiliza. Por ejemplo, una variable utilizada en una expresión de expresiones regulares en una consulta de InfluxDB o Prometheus será regex escape.
Opciones avanzadas de formato variable
El formato de la interpolación de variables depende de la fuente de datos, pero hay algunas situaciones en las que es posible que desee cambiar el formato predeterminado.
Por ejemplo, el valor predeterminado de la fuente de datos de MySQL es unir varios valores separados por comas entre comillas:. 'server01','server02'
En algunos casos, es posible que desee tener una cadena separada por comas sin comillas:. server01,server02
Puede hacer que eso suceda con las opciones avanzadas de formato variable que se enumeran a continuación.
Sintaxis general
Sintaxis: ${var_name:option}
Si se especifica alguna opción de formato no válida, entonces glob
es la opción predeterminada/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'
Distribuido: OpenTSDB
Formatea variables con varios valores en un formato personalizado para OpenTSDB.
servers = [ 'test1', 'test2' ] String to interpolate: '${servers:distributed}' Interpolation result: 'test1,servers=test2'
Comilla doble
Formatea las variables de uno o varios valores en una cadena separada por comas, separa cada valor por \"
y cita cada valor con. "
"
servers = [ 'test1', 'test2' ] String to interpolate: '${servers:doublequote}' Interpolation result: '"test1","test2"'
Glob: grafito
Formatea las variables con varios valores en un globo (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")'
Código porcentual
Formatea variables de uno o varios valores para usarlas en los parámetros de URL.
servers = [ 'foo()bar BAZ', 'test2' ] String to interpolate: '${servers:percentencode}' Interpolation result: 'foo%28%29bar%20BAZ%2Ctest2'
Tubo
Formatea las variables con varios valores en una cadena separada por tuberías.
servers = [ 'test1.', 'test2' ] String to interpolate: '${servers:pipe}' Interpolation result: 'test1.|test2'
Sin procesar
Desactiva el formato específico de la fuente 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)'
Cita única
Formatea las variables de uno o varios valores en una cadena separada por comas, separa cada valor por y '
cita cada valor con\'
. '
servers = [ 'test1', 'test2' ] String to interpolate: '${servers:singlequote}' Interpolation result: "'test1','test2'"
Cadena SQL
Formatea las variables de uno o varios valores en una cadena separada por comas, escapa '
en cada valor y cita cada valor con''
. '
servers = [ "test'1", "test2" ] String to interpolate: '${servers:sqlstring}' Interpolation result: "'test''1','test2'"
Text
Formatea las variables de uno o 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 uno o varios valores para incluirlas en su representación de parámetros 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"