

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.

# Plantillas y variables
<a name="templates-and-variables"></a>

****  
Este tema de documentación está diseñado para los espacios de trabajo de Grafana que admiten la **versión 8.x de Grafana**.  
Para los espacios de trabajo de Grafana que admiten la versión 10.x de Grafana, consulte [Uso de la versión 10 de Grafana](using-grafana-v10.md).  
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](using-grafana-v9.md).

Una variable es un marcador de posición para un valor. Puede utilizar variables en las consultas de métricas y en los títulos de los paneles. Las variables le permiten crear paneles de control más interactivos y dinámicos. En lugar de codificar de forma rígida elementos como los nombres de servidores, aplicaciones y sensores en las consultas de métricas, puede utilizar variables en su lugar. 

Las variables se muestran como listas desplegables en la parte superior del panel de control. Al cambiar el valor mediante la lista desplegable situada en la parte superior del panel, las consultas de métricas del panel reflejan el nuevo valor. 

Pueden resultar especialmente útiles para los administradores que quieren permitir a los visualizadores ajustar las visualizaciones rápidamente, pero no quieren concederles permisos de edición completos. Los visualizadores de Grafana pueden utilizar variables. 

Al utilizar variables y plantillas, puede gestionar paneles de un único origen. Si tiene varios orígenes de datos o servidores idénticos, puede crear un panel de control y utilizar variables para cambiar lo que está viendo. Esto simplifica el mantenimiento y la conservación. 

Para obtener una lista de los tipos de variables admitidos y las instrucciones para agregar cada tipo de variable, consulte [Tipos de variables](variables-types.md).

## Plantillas
<a name="templates"></a>

 Una *plantilla* es cualquier consulta que contiene una variable. 

Por ejemplo, si administrara un panel para supervisar varios servidores, podría crear un panel para cada servidor. O puede crear un panel y utilizar paneles con consultas de plantilla, como se muestra en el siguiente ejemplo. 

```
wmi_system_threads{instance=~"$server"}
```

Los valores de las variables siempre se sincronizan con la URL mediante la sintaxis `var-<varname>=value`. 

## Prácticas recomendadas de variables
<a name="variable-best-practices"></a>

Las listas desplegables de variables se muestran en el orden en que aparecen en la lista de variables de **Configuración del panel**.

Coloque las variables que cambiará con frecuencia en la parte superior, de modo que se muestren primero, en el extremo izquierdo del panel.

## Sintaxis de variable
<a name="variable-syntax"></a>

 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, como en el siguiente ejemplo: `apps.frontend.$server.requests.count`. Sin embargo, no puede utilizar una variable en medio de una palabra. 
+  `${var_name}` Utilice esta sintaxis cuando desee interpolar una variable en medio de una expresión. 
+  `${var_name:<format>}` Este formato le da más control sobre cómo Grafana interpola los valores. Para obtener más información, consulte [Opciones avanzadas de formato de variables](#advanced-variable-format-options). 

 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 Prometheus tendrá un escape de expresiones regulares. Consulte el tema de la documentación específico del origen de datos para obtener más información sobre el escape de valores durante la interpolación. 

 Para obtener información sobre la sintaxis avanzada para anular el formato predeterminado del origen de datos, consulte [Opciones avanzadas de formato de variables](#advanced-variable-format-options). 

# Tipos de variables
<a name="variables-types"></a>

****  
Este tema de documentación está diseñado para los espacios de trabajo de Grafana que admiten la **versión 8.x de Grafana**.  
Para los espacios de trabajo de Grafana que admiten la versión 10.x de Grafana, consulte [Uso de la versión 10 de Grafana](using-grafana-v10.md).  
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](using-grafana-v9.md).

 Grafana utiliza varios tipos de variables. 


|  Tipo de variable  |  Description (Descripción)  | 
| --- | --- | 
|  Consultar  |  Lista de valores generada por consultas, como nombres de métricas, nombres de servidores, sensores IDs, centros de datos, etc. Para obtener más información, consulte [Adición de una variable de consulta](#add-a-query-variable).  | 
|  Personalizada  |  Define las opciones de la variable de forma manual mediante una lista separada por comas. Para obtener más información, consulte [Adición de una variable personalizada](#add-a-custom-variable).  | 
|  Text box (Cuadro de texto)  |  Muestra un campo de entrada de texto con un valor predeterminado opcional. Para obtener más información, consulte [Adición de una variable de cuadro de texto](#add-a-text-box-variable).  | 
|  Constant  |  Define una constante oculta. Para obtener más información, consulte [Adición de una variable constante](#add-a-constant-variable).  | 
|  Origen de datos  |  Cambie rápidamente el origen de datos de un panel de control completo. Para obtener más información, consulte [Adición de una variable de origen de datos](#add-a-data-source-variable).  | 
|  Interval  |  Las variables de intervalo representan intervalos de tiempo. Para obtener más información, consulte [Adición de una variable de intervalo](#add-an-interval-variable).  | 
|  Filtros ad hoc  |  Key/value filtros que se agregan automáticamente a todas las consultas de métricas de una fuente de datos (InfluxDB, Prometheus y solo). OpenSearch Para obtener más información, consulte [Adición de filtros ad hoc](#add-ad-hoc-filters).  | 
|  Variables globales  |  Variables integradas que se pueden utilizar en expresiones del editor de consultas. Para obtener más información, consulte [Variables globales](#global-variables).  | 
|  Variables encadenadas  |  Las consultas de variables pueden contener otras variables. Para obtener más información, consulte [Variables encadenadas](#chained-variables).  | 

## Adición de una variable de consulta
<a name="add-a-query-variable"></a>

 Al usar variables de consulta, puede escribir una consulta de origen de datos que devuelve una lista de nombres de métricas, valores de etiquetas o claves. Por ejemplo, una variable de consulta puede devolver una lista de nombres de servidores IDs, sensores o centros de datos. Los valores de las variables cambian a medida que buscan opciones de forma dinámica con una consulta a un origen de datos. 

 Las expresiones de consulta pueden contener referencias a otras variables y, de hecho, crear variables vinculadas. Grafana lo detecta y actualiza automáticamente una variable cuando cambia una de sus variables vinculadas. 

### Expresiones de consulta
<a name="query-expressions"></a>

Las expresiones de consulta son diferentes para cada origen de datos. Para obtener más información, consulte la documentación del origen de datos en [Conexión con orígenes de datos](AMG-data-sources.md).

### Introducción de opciones generales
<a name="enter-general-options"></a>

**Introducción de opciones generales para una variable de consulta**

1. Vaya al panel de control para el que desee crear una variable y, a continuación, seleccione el icono de **Configuración del panel** (engranaje) situado en la parte superior de la página. 

1.  En la pestaña **Variables**, elija **Nuevo**. 

1.  Ingrese un **nombre** para su variable. 

1.  En la lista **Tipo**, seleccione **Consulta**. 

1. (Opcional) En **Etiqueta**, ingrese el nombre de visualización de la lista desplegable de variables. Si no ingresa ningún nombre de visualización, la etiqueta desplegable será el nombre de la variable. 

1.  Elija una opción de **Ocultar**: 
   +  **Sin selección (en blanco)**: la lista desplegable de variables muestra el valor de **Nombre** o **Etiqueta** de la variable. Es el valor predeterminado. 
   +  **Etiqueta**: la lista desplegable de variables solo muestra el valor de la variable seleccionada y una flecha hacia abajo. 
   +  **Variable**: no se muestra ninguna lista desplegable de variables en el panel de control. 

### Introducción de opciones de consulta
<a name="enter-query-options"></a>

**Introducción de opciones de consulta para una variable de consulta**

1. En la lista **Origen de datos**, seleccione el origen de datos de destino para la consulta. Para obtener más información sobre orígenes de datos, consulte [Conexión con orígenes de datos](AMG-data-sources.md).

1.  En la lista **Actualizar**, seleccione cuándo debe actualizar las opciones la variable. 
   +  **Nunca**: guarda en caché las consultas de variables y los valores no se actualizan. No pasa nada si los valores nunca cambian, pero es problemático si son dinámicos y cambian mucho. 
   +  **Al cargar el panel de control**: consulta el origen de datos cada vez que se carga el panel de control. Esto ralentiza la carga del panel de control, ya que la consulta de variables debe completarse antes de inicializar el panel de control. 
   +  **Al cambiar el intervalo de tiempo**: consulta el origen de datos cuando cambia el intervalo de tiempo del panel de control. Utilice esta opción únicamente si la consulta de opciones de variables contiene un filtro de intervalo de tiempo o depende del intervalo de tiempo del panel de control. 

1.  En el campo **Consulta**, ingrese una consulta. 
   +  El campo de consulta varía en función del origen de datos. Algunos orígenes de datos tienen editores de consultas personalizados. 
   + Si necesita más espacio en un editor de consultas de un solo campo de entrada, coloque el cursor sobre las líneas de la esquina inferior derecha del campo y arrástrelo hacia abajo para ampliarlo. 

1. (Opcional) En el campo **Expresión regular**, escriba una expresión regular para filtrar o capturar partes específicas de los nombres devueltos por la consulta del origen de datos. Para ver ejemplos, consulte [Filtrado de variables con expresiones regulares](templates-and-variables.md#filter-variables-with-regex). 

1. En la lista **Ordenar**, seleccione el orden de clasificación de los valores que se mostrarán en la lista desplegable. La opción predeterminada, **Deshabilitado**, significa que se utilizará el orden de las opciones devuelto por la consulta del origen de datos. 

1. (Opcional) Ingrese **Opciones de selección**. Para obtener más información, consulte [Introducción de opciones de selección de variables](templates-and-variables.md#enter-variable-selection-options). 

1.  En **Vista previa de valores**, el espacio de trabajo de Grafana muestra una lista de los valores de las variables actuales. Revíselos para asegurarse de que coincidan con lo que espera. 

1.  Elija **Agregar** para agregar la variable al panel de control. 

## Adición de una variable personalizada
<a name="add-a-custom-variable"></a>

 Use una variable *personalizada* para los valores que no cambien. Pueden ser números, cadenas o incluso otras variables. 

Por ejemplo, si tiene nombres de servidores o nombres de regiones que nunca cambian, puede crearlos como variables personalizadas en lugar de como variables de consulta. Como no cambian, puede utilizarlos en variables encadenadas en lugar de en otras variables de consulta. Eso reduciría la cantidad de consultas que Grafana debe enviar cuando se actualizan las variables encadenadas. Para obtener más información acerca de las variables encadenadas, consulte [Variables encadenadas](#chained-variables). 

### Introducción de opciones generales
<a name="variables-enter-general-options"></a>

**Introducción de opciones de consulta para una variable personalizada**

1.  Vaya al panel de control para el que desee crear una variable y, a continuación, seleccione el icono de **Configuración del panel** (engranaje) situado en la parte superior de la página. 

1.  En la pestaña **Variables**, elija **Nuevo**. 

1.  Ingrese un **nombre** para su variable. 

1.  En la lista **Tipo**, elija **Personalizada**. 

1. (Opcional) En **Etiqueta**, ingrese el nombre de visualización de la lista desplegable de variables. Si no ingresa ningún nombre de visualización, la etiqueta desplegable será el nombre de la variable. 

1.  Elija una opción de **Ocultar**: 
   +  **Sin selección (en blanco)**: la lista desplegable de variables muestra el valor de **Nombre** o **Etiqueta** de la variable. Es el valor predeterminado. 
   +  **Etiqueta**: la lista desplegable de variables solo muestra el valor de la variable seleccionada y una flecha hacia abajo. 
   +  **Variable**: no se muestra ninguna lista desplegable de variables en el panel de control. 

### Introducción de opciones personalizadas
<a name="enter-custom-options"></a>

**Introducción de opciones personalizadas para una variable personalizada**

1. En la lista **Valores separados por comas**, ingrese los valores de esta variable en una lista separada por comas. Puede incluir números, cadenas, otras variables o pares clave-valor separados por dos puntos. 

1.  (Opcional) Ingrese **Opciones de selección**. Para obtener más información, consulte [Introducción de opciones de selección de variables](templates-and-variables.md#enter-variable-selection-options). 

1.  En **Vista previa de valores**, el espacio de trabajo de Grafana muestra una lista de los valores de las variables actuales. Revíselos para asegurarse de que coincidan con lo que espera. 

1. Elija **Agregar** para agregar la variable al panel de control. 

## Adición de una variable de cuadro de texto
<a name="add-a-text-box-variable"></a>

 Las variables de *cuadro de texto* muestran un campo de entrada de texto con un valor predeterminado opcional. Es la variable más flexible, ya que puede ingresar cualquier valor. Utilice este tipo de variable si tiene métricas con una cardinalidad alta o si desea actualizar varios paneles de un panel de control al mismo tiempo. 

### Introducción de opciones generales
<a name="text-box-enter-general-options"></a>

**Introducción de opciones generales para una variable de cuadro de texto**

1.  Vaya al panel de control para el que desee crear una variable y, a continuación, seleccione el icono de **Configuración del panel** (engranaje) situado en la parte superior de la página. 

1.  En la pestaña **Variables**, elija **Nuevo**. 

1.  Ingrese un **nombre** para su variable. 

1.  En la lista **Tipo**, seleccione **Cuadro de texto**. 

1. (Opcional) En **Etiqueta**, ingrese el nombre de visualización de la lista desplegable de variables. Si no ingresa ningún nombre de visualización, la etiqueta desplegable será el nombre de la variable. 

1.  Elija una opción de **Ocultar**: 
   +  **Sin selección (en blanco)**: la lista desplegable de variables muestra el valor de **Nombre** o **Etiqueta** de la variable. Es el valor predeterminado. 
   +  **Etiqueta**: la lista desplegable de variables solo muestra el valor de la variable seleccionada y una flecha hacia abajo. 
   +  **Variable**: no se muestra ninguna lista desplegable de variables en el panel de control. 

### Introducción de opciones de texto
<a name="enter-text-options"></a>

**Introducción de opciones de texto para una variable de cuadro de texto**

1. (Opcional) En el campo **Valor predeterminado**, seleccione el valor predeterminado de la variable. Si no ingresa nada en este campo, Grafana mostrará un cuadro de texto vacío en el que puede escribir texto. 

1.  En **Vista previa de valores**, Grafana muestra una lista de los valores de las variables actuales. Revíselos para asegurarse de que coincidan con lo que espera. 

1. Elija **Agregar** para agregar la variable al panel de control. 

## Adición de una variable constante
<a name="add-a-constant-variable"></a>

Para definir una constante oculta, utilice variables de *constante*. Las variables de constante son útiles para los prefijos de las rutas métricas de los paneles de control que desee compartir. Al exportar un panel de control, las variables constantes se convierten en opciones de importación. 

Las variables constantes no son flexibles. Cada variable de constante contiene solo un valor. Para actualizarlo, debe actualizar la configuración de las variables. 

Las variables de constante son útiles cuando tiene valores complejos que debe incluir en las consultas, pero no quiere volver a escribirlos en cada una de las consultas. Por ejemplo, si tuviera una ruta de servidor llamada `i-0b6a61efe2ab843gg`, podría reemplazarla por una variable llamada `$path_gg`. 

### Introducción de opciones generales
<a name="constant-variable-enter-general-options"></a>

**Introducción de opciones generales para una variable de constante**

1.  Vaya al panel de control para el que desee crear una variable y, a continuación, seleccione el icono de **Configuración del panel** (engranaje) situado en la parte superior de la página. 

1.  En la pestaña **Variables**, elija **Nuevo**. 

1.  Ingrese un **nombre** para su variable. 

1.  En la lista **Tipo**, seleccione **Constante**. 

1. (Opcional) En **Etiqueta**, ingrese el nombre de visualización de la lista desplegable de variables. Si no ingresa ningún nombre de visualización, la etiqueta desplegable será el nombre de la variable. 

1.  Elija una opción de **Ocultar**: 
   +  **Variable**: no se muestra ninguna lista desplegable de variables en el panel de control. Es el valor predeterminado. 
   +  **Sin selección (en blanco)**: la lista desplegable de variables muestra el valor de **Nombre** o **Etiqueta** de la variable. 
   +  **Etiqueta**: la lista desplegable de variables solo muestra el valor de la variable seleccionada y una flecha hacia abajo. 

### Introducción de opciones de constante
<a name="enter-constant-options"></a>

**Introducción de opciones de constante para una variable de constante**

1. En el campo **Valor**, escriba el valor de la variable. Puede ingresar letras, números y símbolos. Si usa opciones avanzadas de formato de variables, puede usar incluso comodines. Para obtener más información, consulte [Opciones avanzadas de formato de variables](templates-and-variables.md#advanced-variable-format-options). 

1. En **Vista previa de valores**, el espacio de trabajo de Grafana muestra el valor de la variable actual. Revíselo para asegurarse de que coincida con lo que espera. 

1. Elija **Agregar** para agregar la variable al panel de control. 

## Adición de una variable de origen de datos
<a name="add-a-data-source-variable"></a>

Para cambiar el origen de datos de un panel de control completo, puede usar las variables de *origen de datos*. Son útiles si tiene varias instancias de un origen de datos, quizás en entornos diferentes. 

### Introducción de opciones generales
<a name="data-source-enter-general-options"></a>

**Introducción de opciones generales para una variable de origen de datos**

1. Vaya al panel de control para el que desee crear una variable y, a continuación, seleccione el icono de **Configuración del panel** (engranaje) situado en la parte superior de la página. 

1.  En la pestaña **Variables**, elija **Nuevo**. 

1.  Ingrese un **nombre** para su variable. 

1.  En la lista **Tipo**, seleccione **Origen de datos**. 

1. (Opcional) En **Etiqueta**, ingrese el nombre de visualización de la lista desplegable de variables. Si no ingresa ningún nombre de visualización, la etiqueta desplegable será el nombre de la variable. 

1.  Elija una opción de **Ocultar**: 
   +  **Sin selección (en blanco)**: la lista desplegable de variables muestra el valor de **Nombre** o **Etiqueta** de la variable. Es el valor predeterminado. 
   +  **Etiqueta**: la lista desplegable de variables solo muestra el valor de la variable seleccionada y una flecha hacia abajo. 
   +  **Variable**: no se muestra ninguna lista desplegable de variables en el panel de control. 

### Introducción de opciones de origen de datos
<a name="enter-data-source-options"></a>

**Introducción de opciones de origen de datos para una variable de origen de datos**

1.  En la lista **Tipo**, seleccione el origen de datos de destino para la variable. Para obtener más información sobre orígenes de datos, consulte [Conexión con orígenes de datos](AMG-data-sources.md). 

1. (Opcional) En **Filtro de nombres de instancias**, ingrese un filtro de expresiones regulares para seleccionar las instancias del origen de datos en la lista desplegable de valores de variables. Deje este campo vacío para mostrar todas las instancias. 

1.  (Opcional) Ingrese **Opciones de selección**. Para obtener más información, consulte [Introducción de opciones de selección de variables](templates-and-variables.md#enter-variable-selection-options). 

1.  En **Vista previa de valores**, Grafana muestra una lista de los valores de las variables actuales. Revíselos para asegurarse de que coincidan con lo que espera. 

1. Elija **Agregar** para agregar la variable al panel de control. 

## Adición de una variable de intervalo
<a name="add-an-interval-variable"></a>

Utilice una variable de *intervalo* para representar intervalos de tiempo, como `1m`, `1h` o `1d`. Puede considerarlos como un comando que abarca todo el panel de control group-by-time. Las variables de intervalo cambian la forma en que se agrupan los datos en la visualización. También puede utilizar la opción automática para devolver un número determinado de puntos de datos por intervalo de tiempo. 

Puede usar una variable de intervalo como parámetro para agruparla por hora (para InfluxDB), intervalo de histograma de fecha (para) o como parámetro de función de resumen (para Graphite OpenSearch). 

### Introducción de opciones generales
<a name="interval-variable-enter-general-options"></a>

**Introducción de opciones generales para una variable de intervalo**

1.  Vaya al panel de control para el que desee crear una variable y, a continuación, seleccione el icono de **Configuración del panel** (engranaje) situado en la parte superior de la página. 

1.  En la pestaña **Variables**, elija **Nuevo**. 

1.  Ingrese un **nombre** para su variable. 

1.  En la lista **Tipo**, seleccione **Intervalo**. 

1. (Opcional) En **Etiqueta**, ingrese el nombre de visualización del desplegable de variables. Si no ingresa ningún nombre de visualización, la etiqueta desplegable será el nombre de la variable. 

1.  Elija una opción de **Ocultar**: 
   +  **Sin selección (en blanco)**: la lista desplegable de variables muestra el valor de **Nombre** o **Etiqueta** de la variable. Es el valor predeterminado. 
   +  **Etiqueta**: la lista desplegable de variables solo muestra el valor de la variable seleccionada y una flecha hacia abajo. 
   +  **Variable**: no se muestra ninguna lista desplegable de variables en el panel de control. 

### Introducción de opciones de intervalo
<a name="enter-interval-options"></a>

**Introducción de opciones de intervalo para una variable de intervalo**

1.  En el campo **Valores**, ingrese los intervalos de periodo de tiempo que desee que aparezcan en la lista desplegable de variables. Se admiten las siguientes unidades de tiempo: `s (seconds)`, `m (minutes)`, `h (hours)`, `d (days)`, `w (weeks)`, `M (months)` y `y (years)`. También puede aceptar o editar los valores predeterminados: `1m,10m,30m,1h,6h,12h,1d,7d,14d,30d`. 

1. (Opcional) Active la **opción automática** si desea agregar la opción `auto` a la lista. Use esta opción para especificar cuántas veces debe dividirse el intervalo de tiempo actual para calcular el intervalo de tiempo `auto` actual. Si la activa, aparecerán dos opciones más: 
   +  **Recuento de pasos**: seleccione el número de veces que se dividirá el intervalo de tiempo actual para calcular el valor, de forma similar a la opción de consulta **Máximo de puntos de datos**. Por ejemplo, si el intervalo de tiempo visible actual es de 30 minutos, el intervalo `auto` agrupa los datos en 30 incrementos de un minuto. El valor predeterminado es 30 pasos. 
   +  **Intervalo mínimo**: el umbral mínimo por debajo del cual los intervalos del recuento de pasos no dividirán el tiempo. Para continuar con el ejemplo de 30 minutos, si el intervalo mínimo se establece en `2m`, Grafana agruparía los datos en 15 incrementos de 2 minutos. 

1.  En **Vista previa de valores**, Grafana muestra una lista de los valores de las variables actuales. Revíselos para asegurarse de que coincidan con lo que espera. 

1. Elija **Agregar** para agregar la variable al panel de control. 

### Ejemplos de variables de intervalo
<a name="interval-variable-examples"></a>

 Ejemplo con la variable de plantilla `myinterval` en una función de Graphite: 

```
summarize($myinterval, sum, false)
```

 Un ejemplo de Graphite más complejo: 

```
groupByNode(summarize(movingAverage(apps.$app.$server.counters.requests.count, 5), '$interval', 'sum', false), 2, 'sum')
```

## Adición de filtros ad hoc
<a name="add-ad-hoc-filters"></a>

Puede utilizar filtros de un solo uso o *ad hoc* para agregar filtros clave-valor que se agregan automáticamente a todas las consultas de métricas que utilizan el origen de datos especificado. A diferencia de otras variables, en las consultas no se utilizan filtros de un solo uso. En su lugar, se utilizan para escribir filtros para las consultas existentes. 

**nota**  
**Nota:** Las variables de filtro únicas o ad hoc solo funcionan con InfluxDB, Prometheus y fuentes de datos. OpenSearch 

### Introducción de opciones generales
<a name="ad-hoc-filters-enter-general-options"></a>

**Introducción de opciones generales de un filtro ad hoc**

1. Vaya al panel de control para el que desee crear una variable y, a continuación, seleccione el icono de **Configuración del panel** (engranaje) situado en la parte superior de la página. 

1.  En la pestaña **Variables**, elija **Nuevo**. 

1.  Ingrese un **nombre** para su variable. 

1.  En la lista **Tipo**, seleccione **Filtros ad hoc**. 

1. (Opcional) En **Etiqueta**, ingrese el nombre de visualización de la lista desplegable de variables. Si no ingresa ningún nombre de visualización, la etiqueta desplegable será el nombre de la variable. 

1.  Elija una opción de **Ocultar**: 
   +  **Sin selección (en blanco)**: la lista desplegable de variables muestra el valor de **Nombre** o **Etiqueta** de la variable. Es el valor predeterminado. 
   +  **Etiqueta**: la lista desplegable de variables solo muestra el valor de la variable seleccionada y una flecha hacia abajo. 
   +  **Variable**: no se muestra ninguna lista desplegable de variables en el panel de control. 

### Introducción de opciones
<a name="ad-hoc-enter-options"></a>

**Introducción de las opciones de un filtro ad hoc**

1.  En la lista **Origen de datos**, seleccione el origen de datos de destino. Para obtener más información sobre orígenes de datos, consulte [Conexión con orígenes de datos](AMG-data-sources.md). 

1. Elija **Agregar** para agregar la variable al panel de control. 

### Creación de filtros ad hoc
<a name="create-ad-hoc-filters"></a>

Los filtros ad hoc son una de las opciones de variables más complejas y flexibles disponibles. En lugar de una lista normal de opciones de variables, esta variable le permite compilar una consulta ad hoc que abarque todo el panel de control. Los filtros que aplique de esta manera se aplican a todos los paneles del panel de control. 

## Variables encadenadas
<a name="chained-variables"></a>

Las *variables encadenadas*, también denominadas *variables enlazadas* o *variables anidadas*, son variables de consulta con una o más variables adicionales en su consulta de variables. En esta sección se explica cómo funcionan las variables encadenadas y se proporcionan enlaces a ejemplos de paneles de control que las utilizan. 

Las consultas de variables encadenadas son diferentes para cada origen de datos, pero la premisa es la misma para todas. Puede utilizar consultas de variables encadenadas en cualquier origen de datos que las permita. 

Puede compilar paneles de control complejos vinculados y con plantillas, de 5 o 10 niveles de profundidad. Técnicamente, no hay límite en cuanto a la profundidad o complejidad que pueda tener, pero cuantos más enlaces tenga, mayor será la carga de consultas. 

### Prácticas recomendadas y consejos
<a name="variables-best-practices-and-tips"></a>

Las siguientes prácticas harán que los paneles de control y las variables sean más fáciles de usar. 

#### Creación de nuevas variables encadenadas
<a name="creating-new-linked-variables"></a>
+  El encadenamiento de variables crea dependencias entre elementos principales y secundarios. Puede imaginarlos como una escalera o un árbol. 
+ La forma más rápida de crear una nueva variable encadenada consiste en copiar la variable en la que desea basar la nueva. En la lista de variables, seleccione el icono **Duplicar variable** situado a la derecha de la entrada de la variable para crear una copia. A continuación, puede agregar a la consulta la variable principal.
+ Las nuevas variables encadenadas creadas de esta forma aparecen al final de la lista. Para dar a la lista un orden lógico, arrastre la variable a una posición diferente. 

#### Orden de las variables
<a name="variable-order"></a>

Para cambiar el orden de las variables en la lista de variables del panel de control, seleccione las flechas arriba y abajo situadas a la derecha de cada entrada. El espacio de trabajo de Grafana muestra las listas desplegables de variables de izquierda a derecha según esta lista, con la variable de la parte superior de la lista en el extremo izquierdo. 
+  Enumere las variables que no tienen dependencias en la parte superior, antes de sus variables secundarias. 
+  Cada variable debe seguir a la variable de la que depende. 
+ La interfaz de usuario no indica qué variables tienen relaciones de dependencia. Enumere las variables en un orden lógico para que sea más claro para otros usuarios (y para usted). 

#### Consideraciones sobre la complejidad
<a name="complexity-consideration"></a>

Cuantos más niveles de dependencia haya en las variables, más tiempo tarda en actualizar los paneles de control después de cambiar las variables. 

Por ejemplo, si tiene una serie de cuatro variables vinculadas (país, región, servidor y métrica) y cambia el valor de una variable raíz (país), el espacio de trabajo de Grafana debe ejecutar consultas para todas las variables dependientes antes de actualizar las visualizaciones en el panel de control. 

## Variables globales
<a name="global-variables"></a>

 Grafana tiene variables integradas que se pueden utilizar en expresiones del editor de consultas. En este tema se enumeran en orden alfabético y se definen. Estas variables son útiles en consultas, enlaces de panel de control y enlaces de datos. 

### \$1\$1\$1dashboard
<a name="global-variable-dashboard"></a>

Esta variable es el nombre del panel de control actual. 

### \$1\$1\$1from y \$1\$1\$1to
<a name="global-variable-from-and-__to"></a>

Grafana tiene dos variables de intervalo de tiempo integradas: `$__from` y `$__to`. Actualmente, siempre se interpolan como milisegundos de Epoch de forma predeterminada, pero puede controlar el formato de la fecha. 


|  Sintaxis  |  Ejemplo de resultado  |  Description (Descripción)  | 
| --- | --- | --- | 
|  \$1\$1\$1\$1from\$1  |  1594671549254  |  Epoch en milisegundos de Unix  | 
|  \$1\$1\$1\$1from:date\$1  |  2020-07-13T20:19:09.254Z  |  Sin argumentos, el valor predeterminado es ISO 8601/RFC 3339  | 
|  \$1\$1\$1\$1from:date:iso\$1  |  2020-07-13T20:19:09.254Z  |  ISO 8601/RFC 3339  | 
|  \$1\$1\$1\$1from:date:seconds\$1  |  1594671549  |  Epoch en segundos de Unix  | 
|  \$1\$1\$1\$1from:date:YYYY-MM\$1  |  2020-07  |  Cualquier formato de los datos personalizado. Para obtener más información, consulte [Visualización](https://momentjs.com/docs/#/displaying/).  | 

La sintaxis anterior también funciona con `${__to}`. 

También puede utilizar esta variable en URLs . Por ejemplo, para enviar a un usuario final a un panel que muestre un intervalo de tiempo desde hace seis horas hasta ahora, utilice la siguiente URL: https://play.grafana. org/d/000000012/grafana-jugar en casa? ¿ViewPanel=2&Orgid=1? desde=ahora-6h&a=ahora 

### \$1\$1\$1interval
<a name="global-variable-interval"></a>

*Puede utilizar la `$__interval` variable como parámetro para agruparla por hora (para InfluxDB, Myself, Postgres, MSSQL), intervalo de histograma de fecha (para) o como parámetro de función de resumen (para Graphite). OpenSearch* 

El espacio de trabajo de Grafana calcula automáticamente un intervalo que se puede utilizar para agrupar por tiempo en las consultas. Cuando hay más puntos de datos de los que se pueden mostrar en un gráfico, las consultas se pueden hacer más eficientes al agruparlas por un intervalo mayor. Por ejemplo, es más eficiente agrupar por 1 día que por 10 segundos cuando se analizan datos de 3 meses. El gráfico tendrá el mismo aspecto y la consulta será más rápida. `$__interval` se calcula con el intervalo de tiempo y el ancho del gráfico (el número de píxeles). 

 Cálculo aproximado: `(from - to) / resolution` 

Por ejemplo, si el intervalo de tiempo es de 1 hora y el gráfico está en pantalla completa, el intervalo podría calcularse en `2m`: los puntos se agrupan en intervalos de 2 minutos. Si el intervalo de tiempo es de 6 meses y el gráfico es de pantalla completa, el intervalo puede ser `1d` (1 día): los puntos se agrupan por día. 

 En el origen de datos de InfluxDB, la variable heredada `$interval` es la misma variable. En su lugar, use `$__interval`. 

 InfluxDB y las fuentes de OpenSearch datos tienen `Group by time interval` campos que se utilizan para codificar el intervalo o para establecer el límite mínimo de la variable mediante la sintaxis ->. `$__interval` `>` `>10m` 

### \$1\$1\$1interval\$1ms
<a name="global-variable-interval_ms"></a>

 Esta variable es la variable `$__interval` en milisegundos, no una cadena con formato de intervalo de tiempo. Por ejemplo, si `$__interval` es `20m`, `$__interval_ms` es `1200000`. 

### \$1\$1\$1name
<a name="global-variable-name"></a>

 Esta variable solo está disponible en el panel de una sola estadística y se puede utilizar en los campos de prefijo o sufijo de la pestaña **Opciones**. La variable se sustituirá por el nombre o el alias de la serie. 

### \$1\$1\$1org
<a name="global-variable-org"></a>

 Esta variable es el identificador de la organización actual. La variable `${__org.name}` es el nombre de la organización actual. 

### \$1\$1\$1user
<a name="global-variable-user"></a>

La variable `${__user.id}` es el identificador del usuario actual. La variable `${__user.login}` es el identificador de inicio de sesión del usuario actual. La variable `${__user.email}` es el correo electrónico del usuario actual. 

### \$1\$1\$1range
<a name="global-variable-range"></a>

Actualmente esta variable solo es compatible con los orígenes de datos de Prometheus. Esta variable representa el intervalo del panel de control actual. Se calcula mediante `to - from`. Tiene representaciones de segundos y milisegundos llamadas `$__range_ms` y `$__range_s`. 

### \$1timeFilter o \$1\$1\$1timeFilter
<a name="global-variable-timefilter-or-__timefilter"></a>

La variable `$timeFilter` devuelve el intervalo de tiempo seleccionado actualmente como una expresión. Por ejemplo, la expresión `Last 7 days` del intervalo de tiempo es `time > now() - 7d`. 

 Esta variable se usa en varios lugares, entre ellos: 
+ La cláusula WHERE para el origen de datos de InfluxDB. Grafana la agrega automáticamente a las consultas de InfluxDB cuando está en el modo **Editor de consultas**. Puede agregarla manualmente en el modo **Editor de texto**: `WHERE $timeFilter`. 
+  Registre las consultas de análisis en el origen de datos de Azure Monitor. 
+  Consultas SQL en MySQL, Postgres y MSSQL. 
+  La variable `$__timeFilter` se utiliza en el origen de datos de MySQL. 

## Otras opciones de variables
<a name="other-variable-options"></a>

En esta sección se explican las otras opciones de variables disponibles.

### Introducción de opciones de selección de variables
<a name="enter-variable-selection-options"></a>

Puede utilizar **Opciones de selección** para gestionar las selecciones de opciones variables. Todas las opciones de selección son opcionales y están desactivadas de forma predeterminada. 

#### Varios valores
<a name="multi-value"></a>

Si activa esta opción, la lista desplegable de variables permite seleccionar varias opciones al mismo tiempo. Para obtener más información, consulte [Formateo de variables de varios valores](#formatting-multi-value-variables). 

#### Opción Incluir todo
<a name="include-all-option"></a>

El espacio de trabajo de Grafana agrega una opción `All` a la lista desplegable de variables. Si un usuario final selecciona esta opción, se seleccionan todas las opciones variables. 

#### Valor Personalizar todo
<a name="custom-all-value"></a>

Esta opción solo está visible si se selecciona **Opción Incluir todo**. 

Para definir el valor de la opción `All`, ingrese una de sintaxis de expresión regular, global o Lucene en el campo **Valor Personalizar todo**. 

De forma predeterminada, el valor `All` incluye todas las opciones de la expresión combinada. Puede llegar a ser muy largo y provocar problemas de rendimiento. A veces, puede ser mejor especificar un valor Personalizar todo, como una expresión regular comodín. 

Al utilizar la sintaxis de expresión regular, global o Lucene en la opción **Valor Personalizar todo**, nunca se aplica escape, por lo que debe tener en cuenta qué valor es válido para el origen de datos. 

### Opciones avanzadas de formato de variables
<a name="advanced-variable-format-options"></a>

 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`. Para ello, utilice las siguientes opciones avanzadas para el formato de variables. 

#### Sintaxis general
<a name="general-syntax"></a>

 Sintaxis: `${var_name:option}` 

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

#### CSV
<a name="variables-csv"></a>

 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
<a name="distributed---opentsdb"></a>

 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
<a name="doublequote"></a>

 Formatea las variables de un solo valor y de varios valores en una cadena separada por comas, aplica escape a `"` en cada valor por `\"` y cita cada valor con `"`. 

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

#### Glob: Graphite
<a name="glob---graphite"></a>

 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
<a name="json"></a>

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

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

#### Lucena - OpenSearch
<a name="lucene---opensearch"></a>

 Formatea variables con varios valores en formato Lucene para. OpenSearch 

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

#### Percentencode
<a name="percentencode"></a>

 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
<a name="pipe"></a>

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

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

#### Raw
<a name="raw"></a>

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

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

#### Expresión regex
<a name="regex"></a>

 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
<a name="singlequote"></a>

 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
<a name="sqlstring"></a>

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

#### Texto
<a name="text"></a>

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

### Formateo de variables de varios valores
<a name="formatting-multi-value-variables"></a>

Interpolar una variable con varios valores seleccionados es complicado, ya que no es fácil formatear los múltiples valores en una cadena que sea válida en el contexto dado en el que se usa la variable. Grafana intenta resolver esto al permitir que cada complemento de origen de datos informe al motor de interpolación de plantillas qué formato usar para varios valores. 

**nota**  
 La opción **Valor Personalizar todo** de la variable debe estar en blanco para que Grafana formatee todos los valores en una sola cadena. Si lo deja en blanco, Grafana concatena (suma) todos los valores de la consulta. Algo así como `value1,value2,value3`. Si se usa un valor personalizado `all`, el valor será algo así como `*` o `all`. 

#### Variables de valores múltiples con un origen de datos de Graphite
<a name="multi-value-variables-with-a-graphite-data-source"></a>

 Graphite usa expresiones globales. En este caso, una variable con varios valores se interpolaría como `{host1,host2,host3}` si el valor de la variable actual fuera *host1*, *host2* y *host3*. 

#### Variables de varios valores con un origen de datos de Prometheus o InfluxDB
<a name="multi-value-variables-with-a-prometheus-or-influxdb-data-source"></a>

 InfluxDB y Prometheus utilizan expresiones regulares, por lo que se interpolaría la misma variable que `(host1|host2|host3)`. También se aplicaría escape de expresiones regulares a cada valor. De lo contrario, un valor con un carácter de control de expresión regular rompería la expresión regular. 

#### Variables de varios valores con un origen de datos elástico
<a name="multi-value-variables-with-an-elastic-data-source"></a>

Amazon OpenSearch usa la sintaxis de consulta de Lucene, por lo que se formatearía la misma variable como. `("host1" OR "host2" OR "host3")` En este caso, se debe aplicar escape a todos los valores, para que el valor solo contenga comillas y palabras de control de Lucene. 

#### Solución de problemas de formateo
<a name="formatting-troubles"></a>

 La aplicación de escape y el formateo automáticos pueden provocar problemas. Puede resultar complicado comprender la lógica detrás de un problema, especialmente en el caso de InfluxDB y Prometheus, donde el uso de la sintaxis de expresiones regulares requiere que la variable se utilice en el contexto de un operador de expresiones regulares. 

 Si no desea que Grafana escape y formatee expresiones regulares de forma automática, debe llevar a cabo una de estas acciones:
+ Desactive las opciones **Varios valores** e **Incluir todo**.
+ Utilice el [formato de variable sin procesar] (\$1\$1< relref "advanced-variable-format-options.md \$1raw" >\$1\$1).

### Filtrado de variables con expresiones regulares
<a name="filter-variables-with-regex"></a>

 Con la opción Consulta de expresiones regulares, se puede filtrar la lista de opciones que devuelve la consulta de variables o modificar las opciones devueltas. 

En esta sección, se muestra cómo utilizar las expresiones regulares para filtrar y modificar los valores de la lista desplegable de variables. 

 Con la opción Consulta de expresiones regulares, se filtra la lista de opciones devuelta por la consulta de variables o se modifican las opciones devueltas. Para más información, consulte [Regular expressions](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions). 

 A continuación, se muestran algunos ejemplos de filtrado en la lista de opciones: 

```
backend_01
backend_02
backend_03
backend_04
```

#### Filtrado para que se devuelvan solo las opciones que terminan en `01` o `02`
<a name="filter-so-that-only-the-options-that-end-with-01-or-02-are-returned"></a>

 Expresión regular: 

```
/.*[01|02]/
```

 Resultado: 

```
backend_01
backend_02
```

#### Filtrado y modificación de las opciones mediante un grupo de captura de expresiones regulares para devolver parte del texto
<a name="filter-and-modify-the-options-using-a-regex-capture-group-to-return-part-of-the-text"></a>

 Expresión regular: 

```
/.*(01|02)/
```

 Resultado: 

```
01
02
```

#### Filtrado y modificación: ejemplo de Prometheus
<a name="filter-and-modify---prometheus-example"></a>

 Lista de opciones: 

```
up{instance="demo.robustperception.io:9090",job="prometheus"} 1 1521630638000
up{instance="demo.robustperception.io:9093",job="alertmanager"} 1 1521630638000
up{instance="demo.robustperception.io:9100",job="node"} 1 1521630638000
```

 Expresión regular: 

```
/.*instance="([^"]*).*/
```

 Resultado: 

```
demo.robustperception.io:9090
demo.robustperception.io:9093
demo.robustperception.io:9100
```

#### Filtrado y modificación mediante grupos de captura de valores y texto con nombre asignado
<a name="filter-and-modify-using-named-text-and-value-capture-groups"></a>

Al utilizar grupos de captura con nombre asignado, puede capturar partes independientes de “texto” y “valor” de las opciones que devuelve la consulta de variables. La lista desplegable de variables puede contener un nombre descriptivo para cada valor que se pueda seleccionar. 

 Por ejemplo, al consultar la métrica `node_hwmon_chip_names` de Prometheus, `chip_name` es más simple que el valor de `chip`. Comience con el siguiente resultado de consulta variables. 

```
node_hwmon_chip_names{chip="0000:d7:00_0_0000:d8:00_0",chip_name="enp216s0f0np0"} 1
node_hwmon_chip_names{chip="0000:d7:00_0_0000:d8:00_1",chip_name="enp216s0f0np1"} 1
node_hwmon_chip_names{chip="0000:d7:00_0_0000:d8:00_2",chip_name="enp216s0f0np2"} 1
node_hwmon_chip_names{chip="0000:d7:00_0_0000:d8:00_3",chip_name="enp216s0f0np3"} 1
```

 Pásela por la siguiente expresión regular. 

```
/chip_name="(?<text>[^"]+)|chip="(?<value>[^"]+)/g
```

 Se produce la siguiente lista desplegable. 

```
Display Name          Value
------------          -------------------------
enp216s0f0np0         0000:d7:00_0_0000:d8:00_0
enp216s0f0np1         0000:d7:00_0_0000:d8:00_1
enp216s0f0np2         0000:d7:00_0_0000:d8:00_2
enp216s0f0np3         0000:d7:00_0_0000:d8:00_3
```

 **Nota:** Solo se admiten los nombres de los grupos de captura `text` y `value`. 

### Paneles o filas que se repiten
<a name="repeat-panels-or-rows"></a>

 Puede crear paneles dinámicos mediante *variables de plantillas*. Todas las variables de las consultas se amplían hasta el valor actual de la variable antes de que la consulta se envíe a la base de datos. Con las variables, puede reutilizar un único panel para todos los servicios. 

 Las variables de plantillas pueden resultar muy útiles para cambiar dinámicamente las consultas en todo un panel. Si quiere que Grafana cree dinámicamente nuevos paneles o filas en función de los valores que seleccionó, puede utilizar la característica *Repetir*. 

#### Paneles que se repiten
<a name="repeating-panels"></a>

 Si tiene una variable con las opciones `Multi-value` o `Include all value` activadas, puede elegir un panel y hacer que Grafana repita ese panel para cada valor seleccionado. Puede encontrar la característica *Repetir* en la *pestaña General* en el modo de edición de paneles. 

 `direction` controla la disposición de los paneles. 

Si lo desea`horizontal`, los paneles están dispuestos side-by-side. Grafana ajusta automáticamente el ancho de cada panel repetido para que se llene toda la fila. Actualmente, no se pueden combinar otros paneles de una fila con un panel repetido. 

 Establezca `Max per row` para indicarle a Grafana cuántos paneles por fila quiere como máximo. El valor predeterminado es *4*. 

Si elige `vertical`, los paneles se disponen de arriba a abajo en una columna. El ancho de los paneles repetidos es el mismo que el del primer panel (la plantilla original) que se repite. 

Haga cambios únicamente en el primer panel (la plantilla original). Para que los cambios surtan efecto en todos los paneles, debe iniciar una recreación dinámica del panel. Para ello, puede cambiar el valor de la variable (es decir, la base de la repetición) o volver a cargar el panel. 

**nota**  
Los paneles que se repiten requieren variables para tener uno o más elementos seleccionados. No puede repetir un panel cero veces para ocultarlo.

#### Filas que se repiten
<a name="repeating-rows"></a>

 Como se ha visto anteriormente, con los paneles, también puede repetir filas si tiene variables establecidas con la opción de selección `Multi-value` o `Include all value`. 

 Para activar esta característica, debe agregar antes una nueva *Fila* mediante el menú *Agregar panel*. A continuación, haga una pausa en el título de la fila y pulse el botón de engranaje para acceder al panel de configuración `Row Options`. A continuación, puede seleccionar la variable para repetir la fila. 

 Se recomienda utilizar también una variable en el título de la fila. 