

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á.

# Modelos e variáveis
<a name="templates-and-variables"></a>

****  
Este tópico de documentação foi desenvolvido para espaços de trabalho do Grafana compatíveis com o **Grafana versão 8.x**.  
Para espaços de trabalho do Grafana compatíveis com o Grafana versão 10.x, consulte [Trabalhar no Grafana versão 10](using-grafana-v10.md).  
Para espaços de trabalho do Grafana compatíveis com o Grafana versão 9.x, consulte [Trabalhar no Grafana versão 9](using-grafana-v9.md).

Uma variável é um espaço reservado para um valor. Você pode usar variáveis em consultas de métricas e em títulos de painéis. As variáveis permitem criar dashboards mais interativos e dinâmicos. Em vez da codificação rígida dos nomes de servidores, das aplicações e dos sensores em suas consultas de métricas, você pode usar variáveis no lugar deles. 

As variáveis são exibidas como listas suspensas na parte superior do dashboard. Quando você altera o valor usando a lista suspensa na parte superior do dashboard, as consultas de métricas do seu painel refletem o novo valor. 

Eles podem ser especialmente úteis para administradores que desejam permitir que os visualizadores ajustem as visualizações rapidamente, mas que não desejam conceder a eles permissões completas de edição. Os visualizadores do Grafana podem usar variáveis. 

Ao usar variáveis e modelos, você pode criar dashboards de origem única. Se você tiver várias fontes de dados ou servidores idênticos, poderá criar um dashboard e usar variáveis para alterar o que está visualizando. Isso simplifica a manutenção e conservação. 

Para obter uma lista dos tipos de variáveis compatíveis e instruções para adicionar cada tipo de variável, consulte [Tipos de variáveis](variables-types.md).

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

 Um *modelo* é qualquer consulta que contém uma variável. 

Por exemplo, se você estivesse administrando um dashboard para monitorar vários servidores, você poderia criar um dashboard para cada servidor. Ou você poderia criar um dashboard e usar painéis com consultas de modelos, como mostrado no exemplo a seguir. 

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

Os valores das variáveis são sempre sincronizados com o URL usando a sintaxe `var-<varname>=value`. 

## Práticas recomendadas de variáveis
<a name="variable-best-practices"></a>

As listas suspensas de variáveis são exibidas na ordem em que estão listadas na lista de variáveis em **Configurações do dashboard**.

Coloque as variáveis que você vai alterar com frequência na parte superior para que elas sejam mostradas primeiro, na extremidade esquerda do dashboard.

## Sintaxe da variável
<a name="variable-syntax"></a>

 Os títulos dos painéis e as consultas métricas podem ver variáveis usando duas sintaxes diferentes: 
+  `$varname` Esta sintaxe é mais fácil de ler, como no seguinte exemplo: `apps.frontend.$server.requests.count`. No entanto, você não pode usar uma variável no meio de uma palavra. 
+  `${var_name}` Use esta sintaxe quando quiser interpolar uma variável no meio de uma expressão. 
+  `${var_name:<format>}` Este formato lhe dá mais controle de como o Grafana interpola valores. Para obter mais informações, consulte [Opções avançadas de formato de variáveis](#advanced-variable-format-options). 

 Antes que as consultas sejam enviadas à fonte de dados, a consulta é *interpolada*, o que significa que a variável é substituída pelo seu valor atual. Durante a interpolação, o valor da variável pode ser de *escape* 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 do Prometheus terá escape de regex. Leia o tópico da documentação específica da fonte de dados para obter detalhes sobre o escape de valor durante a interpolação. 

 Para obter informações sobre a sintaxe avançada para substituir a formatação padrão da fonte de dados, consulte [Opções avançadas de formato de variáveis](#advanced-variable-format-options). 

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

****  
Este tópico de documentação foi desenvolvido para espaços de trabalho do Grafana compatíveis com o **Grafana versão 8.x**.  
Para espaços de trabalho do Grafana compatíveis com o Grafana versão 10.x, consulte [Trabalhar no Grafana versão 10](using-grafana-v10.md).  
Para espaços de trabalho do Grafana compatíveis com o Grafana versão 9.x, consulte [Trabalhar no Grafana versão 9](using-grafana-v9.md).

 O Grafana usa vários tipos de variáveis. 


|  Tipo de variável  |  Description  | 
| --- | --- | 
|  Consulta  |  Lista de valores gerada por consulta, como nomes de métricas, nomes de servidores, sensores IDs, data centers e assim por diante. Para obter mais informações, consulte [Adicionar uma variável de consulta.](#add-a-query-variable).  | 
|  Personalizada  |  Defina as opções de variáveis manualmente usando uma lista separada por vírgulas. Para obter mais informações, consulte [Adicionar uma variável personalizada](#add-a-custom-variable).  | 
|  Text box (Caixa de texto)  |  Exibir um campo de entrada de texto com um valor padrão opcional. Para obter mais informações, consulte [Adicionar uma variável de caixa de texto](#add-a-text-box-variable).  | 
|  Constante  |  Defina uma constante oculta. Para obter mais informações, consulte [Adicionar uma variável constante](#add-a-constant-variable).  | 
|  Fonte de dados  |  Altere rapidamente a fonte de dados de todo um dashboard. Para obter mais informações, consulte [Adicionar uma variável de fonte de dados](#add-a-data-source-variable).  | 
|  Intervalo  |  As variáveis de intervalo representam intervalos de tempo. Para obter mais informações, consulte [Adicionar uma variável de intervalo](#add-an-interval-variable).  | 
|  Filtros ad hoc  |  Key/value filtros que são adicionados automaticamente a todas as consultas métricas de uma fonte de dados (InfluxDB, Prometheus e somente). OpenSearch Para obter mais informações, consulte [Adicionar filtros ad hoc](#add-ad-hoc-filters).  | 
|  Variáveis globais  |  Variáveis internas que podem ser usadas em expressões no editor de consultas. Para obter mais informações, consulte [Variáveis globais](#global-variables).  | 
|  Variáveis encadeadas  |  As consultas de variáveis podem conter outras variáveis. Para obter mais informações, consulte [Variáveis encadeadas](#chained-variables).  | 

## Adicionar uma variável de consulta.
<a name="add-a-query-variable"></a>

 Ao usar variáveis de consulta, você pode escrever uma consulta de fonte de dados que retorne uma lista de nomes de métricas, valores de tag ou chaves. Por exemplo, uma variável de consulta pode retornar uma lista de nomes de servidores IDs, sensores ou data centers. Os valores das variáveis mudam à medida que elas buscam opções dinamicamente com uma consulta à fonte de dados. 

 As expressões de consulta podem conter referências a outras variáveis e, na verdade, criar variáveis vinculadas. O Grafana detecta isso e atualiza automaticamente uma variável quando uma de suas variáveis vinculadas é alterada. 

### Expressões de consulta.
<a name="query-expressions"></a>

As expressões de consulta são diferentes para cada fonte de dados. Para obter mais informações, consulte a documentação da fonte de dados em [Conectar-se à fonte de dados](AMG-data-sources.md).

### Inserir opções gerais
<a name="enter-general-options"></a>

**Para inserir opções gerais para uma variável de consulta**

1. Navegue até o dashboard para o qual deseja criar uma variável e escolha o ícone de **Configurações do dashboard** (engrenagem) na parte superior da página. 

1.  Na guia **Variáveis**, escolha **Nova**. 

1.  Insira um **Nome** para a variável. 

1.  Na lista **Tipo**, selecione **Consulta**. 

1. (Opcional) Em **Rótulo**, insira o nome de exibição da lista suspensa de variáveis. Se você não inserir um nome de exibição, o rótulo suspenso será o nome da variável. 

1.  Escolha uma opção **Ocultar**: 
   +  **Nenhuma seleção (em branco)**: a lista suspensa de variáveis exibe o valor de **Nome** ou **Rótulo** da variável. Esse é o padrão. 
   +  **Rótulo:** a lista suspensa de variáveis exibe somente o valor da variável selecionada e uma seta para baixo. 
   +  **Variável**: nenhuma lista suspensa de variáveis é exibida no dashboard. 

### Inserir opções de consulta
<a name="enter-query-options"></a>

**Para inserir opções de consulta para uma variável de consulta**

1. Na lista **Fonte de dados**, selecione a fonte de dados de destino para a consulta. Para obter mais informações sobre fontes de dados, consulte [Conectar-se à fonte de dados](AMG-data-sources.md).

1.  Na lista **Atualizar**, selecione quando a variável deve atualizar as opções. 
   +  **Nunca**: armazena em cache as consultas de variáveis, e os valores não são atualizados. Isso será bom se os valores nunca mudarem, mas problemático se forem dinâmicos e mudarem muito. 
   +  **No carregamento do dashboard**: consultas a fontes de dados sempre que o dashboard é carregado. Isso retarda o carregamento do dashboard, pois a consulta da variável precisa ser concluída antes que o dashboard possa ser inicializado. 
   +  **Na alteração de intervalo de tempo**: consultas a fonte de dados quando o intervalo de tempo do dashboard é alterado. Use esta opção somente se sua consulta de opções variáveis contiver um filtro de intervalo de tempo ou depender do intervalo de tempo do dashboard. 

1.  No campo **Consulta**, insira uma consulta. 
   +  O campo de consulta varia de acordo com a fonte dos dados. Algumas fontes de dados têm editores de consulta personalizados. 
   + Se você precisar de mais espaço em um único editor de consulta de campo de entrada, pause nas linhas no canto inferior direito do campo e arraste para baixo para expandir. 

1. (Opcional) No campo **Regex**, digite uma expressão regex para filtrar ou capturar partes específicas dos nomes retornados pela consulta da fonte de dados. Para obter exemplos, consulte [Filtrar variáveis com regex](templates-and-variables.md#filter-variables-with-regex). 

1. Na lista **Classificar**, selecione a ordem de classificação dos valores a serem exibidos na lista suspensa. A opção padrão, **Desabilitado**, significa que a ordem das opções retornadas pela consulta da fonte de dados será usada. 

1. (Opcional) Insira as **Opções de seleção**. Para obter mais informações, consulte [Inserir opções de seleção de variáveis](templates-and-variables.md#enter-variable-selection-options). 

1.  Na **Pré-visualização de valores**, o espaço de trabalho do Grafana exibe uma lista dos valores das variáveis atuais. Revise-os para garantir que correspondam ao que você espera. 

1.  Escolha **Adicionar** para adicionar a variável ao dashboard. 

## Adicionar uma variável personalizada
<a name="add-a-custom-variable"></a>

 Use uma variável *personalizada* para valores que não mudam. Pode ser números, strings ou até mesmo outras variáveis. 

Por exemplo, se você tiver nomes de servidores ou nomes de regiões que não mudam, você pode criá-los como variáveis personalizadas em vez de variáveis de consulta. Como eles não mudam, você pode usá-los em variáveis encadeadas em vez de outras variáveis de consulta. Isso reduziria o número de consultas que o Grafana deve enviar quando as variáveis encadeadas são atualizadas. Para obter mais informações sobre variáveis encadeadas, consulte [Variáveis encadeadas](#chained-variables). 

### Inserir opções gerais
<a name="variables-enter-general-options"></a>

**Para inserir opções de consulta para uma variável personalizada**

1.  Navegue até o dashboard para o qual deseja criar uma variável e escolha o ícone de **Configurações do dashboard** (engrenagem) na parte superior da página. 

1.  Na guia **Variáveis**, escolha **Nova**. 

1.  Insira um **Nome** para a variável. 

1.  Na lista **Tipo**, escolha **Personalizada**. 

1. (Opcional) Em **Rótulo**, insira o nome de exibição da lista suspensa de variáveis. Se você não inserir um nome de exibição, o rótulo suspenso será o nome da variável. 

1.  Escolha uma opção **Ocultar**: 
   +  **Nenhuma seleção (em branco)**: a lista suspensa de variáveis exibe o valor de **Nome** ou **Rótulo** da variável. Esse é o padrão. 
   +  **Rótulo**: o menu suspenso da lista de variáveis exibe somente o valor da variável selecionada e uma seta para baixo. 
   +  **Variável**: nenhuma lista suspensa de variáveis é exibida no dashboard. 

### Inserir opções personalizadas
<a name="enter-custom-options"></a>

**Para inserir opções personalizadas para uma variável personalizada**

1. Na lista **Valores separados por vírgula**, insira os valores dessa variável em uma lista separada por vírgula. Você pode incluir números, strings, outras variáveis ou pares de chave/valor separados por dois pontos. 

1.  (Opcional) Insira as **Opções de seleção**. Para obter mais informações, consulte [Inserir opções de seleção de variáveis](templates-and-variables.md#enter-variable-selection-options). 

1.  Na **Pré-visualização de valores**, o espaço de trabalho do Grafana exibe uma lista dos valores das variáveis atuais. Revise-os para garantir que correspondam ao que você espera. 

1. Escolha **Adicionar** para adicionar a variável ao dashboard. 

## Adicionar uma variável de caixa de texto
<a name="add-a-text-box-variable"></a>

 As variáveis da *caixa de texto* exibem um campo de entrada de texto com um valor padrão opcional. Esta é a variável mais flexível, pois você pode inserir qualquer valor. Use esse tipo de variável se você tiver métricas com alta cardinalidade ou se quiser atualizar vários painéis em um dashboard ao mesmo tempo. 

### Inserir opções gerais
<a name="text-box-enter-general-options"></a>

**Para inserir opções gerais para uma variável de caixa de texto**

1.  Navegue até o dashboard para o qual deseja criar uma variável e escolha o ícone de **Configurações do dashboard** (engrenagem) na parte superior da página. 

1.  Na guia **Variáveis**, escolha **Nova**. 

1.  Insira um **Nome** para a variável. 

1.  Na lista **Tipo**, selecione **Caixa de texto**. 

1. (Opcional) Em **Rótulo**, insira o nome de exibição da lista suspensa de variáveis. Se você não inserir um nome de exibição, o rótulo suspenso será o nome da variável. 

1.  Escolha uma opção **Ocultar**: 
   +  **Nenhuma seleção (em branco)**: a lista suspensa de variáveis exibe o valor de **Nome** ou **Rótulo** da variável. Esse é o padrão. 
   +  **Rótulo:** a lista suspensa de variáveis exibe somente o valor da variável selecionada e uma seta para baixo. 
   +  **Variável**: nenhuma lista suspensa de variáveis é exibida no dashboard. 

### Inserir opções de texto
<a name="enter-text-options"></a>

**Para inserir opções de texto para uma variável de caixa de texto**

1. (Opcional) No campo **Valor padrão**, selecione o valor padrão para a variável. Se você não inserir nada nesse campo, o Grafana exibirá uma caixa de texto vazia em que você pode digitar texto. 

1.  Na **Pré-visualização de valores**, o Grafana exibe uma lista dos valores das variáveis atuais. Revise-os para garantir que correspondam ao que você espera. 

1. Escolha **Adicionar** para adicionar a variável ao dashboard. 

## Adicionar uma variável constante
<a name="add-a-constant-variable"></a>

Para definir uma constante oculta, use variáveis *constantes*. Variáveis constantes são úteis para prefixos de caminhos de métricas para dashboards que você deseja compartilhar. Quando você exporta um dashboard, as variáveis constantes são convertidas em opções de importação. 

Variáveis constantes não são flexíveis. Cada variável constante contém somente um valor. Para atualizá-lo, você deve atualizar as configurações da variável. 

Variáveis constantes são úteis quando você tem valores complexos que devem ser incluídos nas consultas, mas não quer digitar novamente em cada consulta. Por exemplo, se você tivesse um caminho de servidor denominado `i-0b6a61efe2ab843gg`, você poderia substituí-lo por uma variável denominada `$path_gg`. 

### Inserir opções gerais
<a name="constant-variable-enter-general-options"></a>

**Para inserir opções gerais para uma variável constante**

1.  Navegue até o dashboard para o qual deseja criar uma variável e escolha o ícone de **Configurações do dashboard** (engrenagem) na parte superior da página. 

1.  Na guia **Variáveis**, escolha **Nova**. 

1.  Insira um **Nome** para a variável. 

1.  Na lista **Tipo**, selecione **Constante**. 

1. (Opcional) Em **Rótulo**, insira o nome de exibição da lista suspensa de variáveis. Se você não inserir um nome de exibição, o rótulo suspenso será o nome da variável. 

1.  Escolha uma opção **Ocultar**: 
   +  **Variável**: nenhuma lista suspensa de variáveis é exibida no dashboard. Esse é o padrão. 
   +  **Nenhuma seleção (em branco)**: a lista suspensa de variáveis exibe o valor de **Nome** ou **Rótulo** da variável. 
   +  **Rótulo:** a lista suspensa de variáveis exibe somente o valor da variável selecionada e uma seta para baixo. 

### Inserir opções constantes
<a name="enter-constant-options"></a>

**Para inserir opções constantes para uma variável constante**

1. Insira o valor da variável no campo **Valor**. É possível inserir letras, números e símbolos. Caso use opções avançadas de formato de variáveis, você poderá até usar curingas. Para obter mais informações, consulte [Opções avançadas de formato de variáveis](templates-and-variables.md#advanced-variable-format-options). 

1. Na **Pré-visualização de valores**, o espaço de trabalho do Grafana exibe o valor da variável atual. Revise-o para garantir que corresponda ao que você espera. 

1. Escolha **Adicionar** para adicionar a variável ao dashboard. 

## Adicionar uma variável de fonte de dados
<a name="add-a-data-source-variable"></a>

Para alterar rapidamente a fonte de dados de um dashboard inteiro, você pode usar variáveis da *fonte de dados*. Elas serão úteis se você tiver várias instâncias de uma fonte de dados, talvez em ambientes diferentes. 

### Inserir opções gerais
<a name="data-source-enter-general-options"></a>

**Para inserir opções gerais para uma variável de fonte de dados**

1. Navegue até o dashboard para o qual deseja criar uma variável e escolha o ícone de **Configurações do dashboard** (engrenagem) na parte superior da página. 

1.  Na guia **Variáveis**, escolha **Nova**. 

1.  Insira um **Nome** para a variável. 

1.  Na lista **Tipo**, selecione **Fonte de dados**. 

1. (Opcional) Em **Rótulo**, insira o nome de exibição da lista suspensa de variáveis. Se você não inserir um nome de exibição, o rótulo suspenso será o nome da variável. 

1.  Escolha uma opção **Ocultar**: 
   +  **Nenhuma seleção (em branco)**: a lista suspensa de variáveis exibe o valor de **Nome** ou **Rótulo** da variável. Esse é o padrão. 
   +  **Rótulo:** a lista suspensa de variáveis exibe somente o valor da variável selecionada e uma seta para baixo. 
   +  **Variável**: nenhuma lista suspensa de variáveis é exibida no dashboard. 

### Inserir opções de fonte de dados
<a name="enter-data-source-options"></a>

**Para inserir opções de fonte de dados para uma variável de fonte de dados**

1.  Na lista **Tipo**, selecione a fonte de dados de destino para a variável. Para obter mais informações sobre fontes de dados, consulte [Conectar-se à fonte de dados](AMG-data-sources.md). 

1. (Opcional) Em **Filtro de nome de instância**, insira um filtro regex para quais instâncias de fonte de dados escolher na lista suspensa de valores de variáveis. Mantenha este campo vazio para exibir todas as instâncias. 

1.  (Opcional) Insira as **Opções de seleção**. Para obter mais informações, consulte [Inserir opções de seleção de variáveis](templates-and-variables.md#enter-variable-selection-options). 

1.  Na **Pré-visualização de valores**, o Grafana exibe uma lista dos valores das variáveis atuais. Revise-os para garantir que correspondam ao que você espera. 

1. Escolha **Adicionar** para adicionar a variável ao dashboard. 

## Adicionar uma variável de intervalo
<a name="add-an-interval-variable"></a>

Use uma variável de *intervalo* para representar períodos de tempo como `1m`, `1h`, `1d`. Você pode pensar neles como um comando em todo o painel group-by-time. As variáveis de intervalo mudam a forma como os dados são agrupados na visualização. Você também pode usar a opção Automático para retornar um número definido de pontos de dados por período de tempo. 

Você pode usar uma variável de intervalo como parâmetro para agrupar por hora (para InfluxDB), intervalo do histograma de data (para OpenSearch) ou como um parâmetro de função de resumo (para Graphite). 

### Inserir opções gerais
<a name="interval-variable-enter-general-options"></a>

**Para inserir opções gerais para uma variável de intervalo**

1.  Navegue até o dashboard para o qual deseja criar uma variável e escolha o ícone de **Configurações do dashboard** (engrenagem) na parte superior da página. 

1.  Na guia **Variáveis**, escolha **Nova**. 

1.  Insira um **Nome** para a variável. 

1.  Na lista **Tipo**, selecione **Intervalo**. 

1. (Opcional) Em **Rótulo**, insira o nome de exibição da lista suspensa de variáveis. Se você não inserir um nome de exibição, o rótulo suspenso será o nome da variável. 

1.  Escolha uma opção **Ocultar**: 
   +  **Nenhuma seleção (em branco)**: a lista suspensa de variáveis exibe o valor de **Nome** ou **Rótulo** da variável. Esse é o padrão. 
   +  **Rótulo:** a lista suspensa de variáveis exibe somente o valor da variável selecionada e uma seta para baixo. 
   +  **Variável**: nenhuma lista suspensa de variáveis é exibida no dashboard. 

### Inserir opções de intervalo
<a name="enter-interval-options"></a>

**Para inserir opções de intervalo para uma variável de intervalo**

1.  No campo **Valores**, insira os intervalos de tempo que você deseja que apareçam na lista suspensa de variáveis. As seguintes unidades de tempo são compatíveis: `s (seconds)`, `m (minutes)`, `h (hours)`, `d (days)`, `w (weeks)`, `M (months)` e `y (years)`. Você também pode aceitar ou editar os valores padrão: `1m,10m,30m,1h,6h,12h,1d,7d,14d,30d`. 

1. (Opcional) Ative a **Opção automática** se quiser adicionar a opção `auto` à lista. Use essa opção para especificar quantas vezes o intervalo de tempo atual deve ser dividido para calcular o intervalo de tempo `auto` atual. Se você ativá-lo, mais duas opções aparecerão: 
   +  **Contagem de etapas**: selecione o número de vezes que o intervalo de tempo atual será dividido para calcular o valor, semelhante à opção de consulta **Máximo de pontos de dados**. Por exemplo, se o intervalo de tempo visível atual for de 30 minutos, então o intervalo `auto` agrupará os dados em 30 incrementos de um minuto. O valor padrão é 30 etapas. 
   +  **Intervalo mínimo**: o limite mínimo abaixo do qual os intervalos de contagem de etapas não dividirão o tempo. Para continuar o exemplo de 30 minutos, se o intervalo mínimo for definido como `2m`, o Grafana agrupará os dados em 15 incrementos de dois minutos. 

1.  Na **Pré-visualização de valores**, o Grafana exibe uma lista dos valores das variáveis atuais. Revise-os para garantir que correspondam ao que você espera. 

1. Escolha **Adicionar** para adicionar a variável ao dashboard. 

### Exemplos de variáveis de intervalo
<a name="interval-variable-examples"></a>

 Exemplo de uso da variável `myinterval` de modelo em uma função do Graphite: 

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

 Um exemplo mais complexo do Graphite: 

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

## Adicionar filtros ad hoc
<a name="add-ad-hoc-filters"></a>

Você pode usar filtros únicos ou *ad hoc* para adicionar filtros de chave/valor que são adicionados automaticamente a todas as consultas de métricas que usam a fonte de dados especificada. Ao contrário de outras variáveis, você não usa filtros únicos nas consultas. Em vez disso, você os usa para escrever filtros para consultas existentes. 

**nota**  
**Observação:** variáveis de filtro únicas ou ad hoc funcionam somente com InfluxDB, Prometheus e fontes de dados. OpenSearch 

### Inserir opções gerais
<a name="ad-hoc-filters-enter-general-options"></a>

**Para inserir opções gerais para um filtro ad hoc**

1. Navegue até o dashboard para o qual deseja criar uma variável e escolha o ícone de **Configurações do dashboard** (engrenagem) na parte superior da página. 

1.  Na guia **Variáveis**, escolha **Nova**. 

1.  Insira um **Nome** para a variável. 

1.  Na lista **Tipo**, selecione **Filtros ad hoc**. 

1. (Opcional) Em **Rótulo**, insira o nome de exibição da lista suspensa de variáveis. Se você não inserir um nome de exibição, o rótulo suspenso será o nome da variável. 

1.  Escolha uma opção **Ocultar**: 
   +  **Nenhuma seleção (em branco)**: a lista suspensa de variáveis exibe o valor de **Nome** ou **Rótulo** da variável. Esse é o padrão. 
   +  **Rótulo:** a lista suspensa de variáveis exibe somente o valor da variável selecionada e uma seta para baixo. 
   +  **Variável**: nenhuma lista suspensa de variáveis é exibida no dashboard. 

### Inserir opções
<a name="ad-hoc-enter-options"></a>

**Para inserir opções para um filtro ad hoc**

1.  Na lista **Fonte de dados**, selecione a fonte de dados de destino. Para obter mais informações sobre fontes de dados, consulte [Conectar-se à fonte de dados](AMG-data-sources.md). 

1. Escolha **Adicionar** para adicionar a variável ao dashboard. 

### Criar de filtros ad hoc
<a name="create-ad-hoc-filters"></a>

Os filtros ad hoc são uma das opções de variáveis mais complexas e flexíveis disponíveis. Em vez de uma lista regular de opções de variáveis, essa variável permite a criação de uma consulta ad hoc em todo o dashboard. Os filtros que você aplica dessa maneira são aplicados a todos os painéis no dashboard. 

## Variáveis encadeadas
<a name="chained-variables"></a>

*Variáveis encadeadas*, também chamadas de *variáveis vinculadas* ou *variáveis aninhadas*, são variáveis de consulta outras variáveis na consulta de variável. Esta seção explica como as variáveis encadeadas funcionam e fornece links para exemplos de dashboards que usam variáveis encadeadas. 

As consultas de variáveis encadeadas são diferentes para cada fonte de dados, mas a premissa é a mesma para todas. Você pode usar consultas de variáveis encadeadas em qualquer fonte de dados que as suporte. 

Você pode criar dashboards complexos vinculados e modelados, com cinco ou dez níveis de profundidade. Tecnicamente, não há limite para o quão profundo ou complexo você pode ir, mas quanto mais links você tiver, maior será a carga de consultas. 

### Dicas e práticas recomendadas
<a name="variables-best-practices-and-tips"></a>

As práticas a seguir facilitarão o uso dos dashboards e variáveis. 

#### Criar novas variáveis encadeadas
<a name="creating-new-linked-variables"></a>
+  O encadeamento de variáveis cria dependências entre primárias e secundárias. Você pode imaginá-las como uma escada ou uma árvore. 
+ A maneira mais rápida de criar uma nova variável encadeada é copiar a variável em que você deseja basear a nova. Na lista de variáveis, escolha o ícone de **Duplicar variável** à direita da entrada da variável para criar uma cópia. Você pode então adicionar à consulta a variável principal.
+ As novas variáveis encadeadas que você cria dessa forma aparecem na parte inferior da lista. Para dar à lista uma ordem lógica, arraste a variável para uma posição diferente na lista. 

#### Ordem das variáveis
<a name="variable-order"></a>

Para alterar a ordem das variáveis na lista de variáveis do dashboard, escolha as setas para cima e para baixo no lado direito de cada entrada. O espaço de trabalho do Grafana lista as listas suspensas de variáveis da esquerda para a direita de acordo com essa lista, exibindo a variável no topo da lista, na extrema esquerda. 
+  Liste as variáveis que não têm dependências na parte superior, antes das variáveis secundárias. 
+  Cada variável deve seguir aquela da qual depende. 
+ A interface de usuário não indica quais variáveis têm relações de dependência. Liste as variáveis em uma ordem lógica para torná-las mais claras para os usuários finais (e para você mesmo). 

#### Considerações sobre complexidade
<a name="complexity-consideration"></a>

Quanto mais camadas de dependência você tiver nas variáveis, mais tempo será necessário para atualizar os dashboards após a alteração das variáveis. 

Por exemplo, se você tiver uma série de quatro variáveis vinculadas (país, região, servidor, métrica) e alterar o valor da variável raiz (país), o espaço de trabalho do Grafana deverá executar consultas para todas as variáveis dependentes antes de atualizar as visualizações no dashboard. 

## Variáveis globais
<a name="global-variables"></a>

 O Grafana tem variáveis globais integradas que podem ser usadas em expressões no editor de consultas. Este tópico as lista em ordem alfabética e as define. Essas variáveis são úteis em consultas, links de dashboards, links de painéis e links de dados. 

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

Esta variável é o nome do dashboard atual. 

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

O Grafana tem duas variáveis de intervalo de tempo integradas: `$__from` e `$__to`. Atualmente, elas são sempre interpoladas como milissegundos epoch por padrão, mas você pode controlar a formatação da data. 


|  Sintaxe  |  Exemplo de resultado  |  Description  | 
| --- | --- | --- | 
|  \$1\$1\$1\$1from\$1  |  1594671549254  |  Unix milissegundos epoch  | 
|  \$1\$1\$1\$1from:date\$1  |  2020-07-13T20:19:09.254Z  |  Nenhum argumento, o padrão é 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  |  Unix segundos epoch  | 
|  \$1\$1\$1\$1from:date:YYYY-MM\$1  |  2020-07  |  Qualquer formato de dados personalizado. Para obter mais informações, consulte [Exibir](https://momentjs.com/docs/#/displaying/).  | 

A sintaxe acima também funciona com `${__to}`. 

Você também pode usar essa variável em URLs . Por exemplo, para enviar um usuário final para um painel que mostra um intervalo de tempo de seis horas atrás até agora, use o seguinte URL: https://play.grafana. org/d/000000012/grafana- Jogar em casa? Painel de visualização = 2 e orgid = 1? de=agora-6h¶=agora 

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

*Você pode usar a `$__interval` variável como um parâmetro para agrupar por hora (para InfluxDB, Myself, Postgres, MSSQL), intervalo do histograma de data (para) ou como um parâmetro de função de resumo (para Graphite OpenSearch).* 

O espaço de trabalho do Grafana calcula automaticamente um intervalo que pode ser usado para agrupar por tempo nas consultas. Quando há mais pontos de dados do que os mostrados em um grafo, as consultas podem ser mais eficientes agrupando por um intervalo maior. Por exemplo, é mais eficiente agrupar por um dia do que por dez segundos ao analisar três meses de dados. O grafo terá a mesma aparência e a consulta será mais rápida. O `$__interval` é calculado usando o intervalo de tempo e a largura do grafo (o número de pixels). 

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

Por exemplo, quando o intervalo de tempo é de uma hora e o grafo está em tela cheia, o intervalo pode ser calculado para `2m`; os pontos são agrupados em intervalos de dois minutos. Se o intervalo de tempo for de seis meses e o grafo estiver em tela cheia, o intervalo poderá ser `1d` (um dia); os pontos serão agrupados por dia. 

 Na fonte de dados InfluxDB, a variável legada `$interval` é a mesma variável. Use `$__interval` em vez disso. 

 O InfluxDB e as fontes de OpenSearch dados têm `Group by time interval` campos que são usados para codificar o intervalo ou definir o limite mínimo para a `$__interval` variável usando a `>` sintaxe ->. `>10m` 

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

 Essa variável é a variável `$__interval` em milissegundos, não uma string formatada com intervalo de tempo. Por exemplo, se `$__interval` for `20m` então `$__interval_ms` será `1200000`. 

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

 Esta variável só está disponível no painel Singlestat e pode ser usada nos campos de prefixo ou sufixo na guia **Opções**. A variável será substituída pelo nome ou alias da série. 

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

 Esta variável é o ID da organização atual. A variável `${__org.name}` é o nome da organização atual. 

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

A variável `${__user.id}` é o ID do usuário atual. A variável `${__user.login}` é o identificador de login do usuário atual. A variável `${__user.email}` é o e-mail do usuário atual. 

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

No momento, esta variável é compatível somente com fontes de dados Prometheus. Essa variável representa o intervalo do dashboard atual. É calculado por `to - from`. Tem representações de milissegundos e segundos denominadas `$__range_ms` e `$__range_s`. 

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

A variável `$timeFilter` retorna o intervalo de tempo atualmente selecionado como uma expressão. Por exemplo, a expressão `Last 7 days` do intervalo de tempo é `time > now() - 7d`. 

 Esta variável é usada em vários lugares, incluindo: 
+ A cláusula WHERE para a fonte de dados InfluxDB. O Grafana a adiciona automaticamente às consultas do InfluxDB quando está no modo **Editor de consultas**. Você pode adicioná-la manualmente no modo **Editor de texto**: `WHERE $timeFilter`. 
+  Consultas de analytics de logs na fonte de dados Azure Monitor. 
+  Consultas SQL em MySQL, Postgres e MSSQL. 
+  A variável `$__timeFilter` é usada na fonte de dados MySQL. 

## Outras opções de variáveis
<a name="other-variable-options"></a>

Esta seção explica as outras opções de variáveis disponíveis.

### Inserir opções de seleção de variáveis
<a name="enter-variable-selection-options"></a>

Você pode usar as **Opções de seleção** para gerenciar as seleções de opções variáveis. Todas as opções de seleção são opcionais e estão desativadas por padrão. 

#### Vários valores
<a name="multi-value"></a>

Se você ativar esta opção, a lista suspensa de variáveis será compatível com a seleção de várias opções ao mesmo tempo. Para obter mais informações, consulte [Formatação de variáveis de vários valores](#formatting-multi-value-variables). 

#### Incluir todas as opções
<a name="include-all-option"></a>

O espaço de trabalho do Grafana adiciona uma opção `All` à lista suspensa de variáveis. Se um usuário final selecionar esta opção, todas as opções de variáveis serão selecionadas. 

#### Personalizar todos os valores
<a name="custom-all-value"></a>

Esta opção estará visível somente se a **opção Incluir tudo** estiver selecionada. 

Para definir o valor da opção `All`, insira a sintaxe regex, glob ou Lucene no campo **Personalizar todos os valores**. 

Por padrão, o valor `All` inclui todas as opções em uma expressão combinada. Isso pode se tornar muito longo e causar problemas de performance. Às vezes, pode ser melhor especificar um valor personalizado para todos, como um regex curinga. 

Quando você usa a sintaxe personalizada regex, glob ou Lucene na opção **Personalizar todos os valores**, ela nunca é de escape, então você deve considerar qual é um valor válido para a fonte de dados. 

### Opções avançadas de formato de variáveis
<a name="advanced-variable-format-options"></a>

 A formatação da interpolação de variável 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 desejar ter uma string separada por vírgulas sem aspas: `server01,server02`. Para fazer isso, use as opções avançadas de formatação de variáveis a seguir. 

#### Sintaxe geral
<a name="general-syntax"></a>

 Sintaxe: `${var_name:option}` 

Se alguma opção de formatação inválida for especificada, `glob` será a opção padrão ou de fallback. 

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

 Formata variáveis com vários valores como uma string separada por vírgulas. 

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

#### Distribuído - OpenTSDB
<a name="distributed---opentsdb"></a>

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

#### Doublequote
<a name="doublequote"></a>

 Formata variáveis de valor único e de vários valores em uma string separada por vírgula, escapa `"` em cada valor por `\"` e cita cada valor com `"`. 

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

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

 Formata variáveis com vários valores em um glob (para consultas do Graphite). 

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

#### JSON
<a name="json"></a>

 Formata variáveis com vários valores como uma string separada por vírgulas. 

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

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

 Formata variáveis com vários valores no formato Lucene para. OpenSearch 

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

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

 Formata variáveis de valor único e de vários valores para uso em parâmetros de URL. 

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

#### Barra vertical
<a name="pipe"></a>

 Formata variáveis com vários valores como uma string separada por barras verticais. 

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

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

 Desativa a formatação específica da fonte de dados, como aspas simples em uma consulta SQL. 

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

#### Regex
<a name="regex"></a>

 Formata variáveis com vários valores como uma string regex. 

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

#### Singlequote
<a name="singlequote"></a>

 Formata variáveis de valor único e de vários valores em uma string separada por vírgula, escapa `'` em cada valor por `\'` e cita cada valor com `'`. 

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

#### Sqlstring
<a name="sqlstring"></a>

 Formata variáveis de valor único e de vários valores em uma string separada por vírgula, escapa `'` em cada valor por `''` e cita cada valor com `'`. 

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

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

 Formata variáveis de valor único e de vários valores em sua representação de texto. Para uma única variável, ele 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"
```

### Formatação de variáveis de vários valores
<a name="formatting-multi-value-variables"></a>

Interpolar uma variável com vários valores selecionados é complicado, pois não é simples formatar os vários valores em uma string válida no contexto em que a variável é usada. O Grafana tenta resolver isso permitindo que cada plug-in de fonte de dados informe ao mecanismo de interpolação de modelos qual formato usar para vários valores. 

**nota**  
 A opção **Personalizar todos os valores** na variável deve estar em branco para que o Grafana formate todos os valores em uma única string. Se deixar em branco, o Grafana então concatena (soma) todos os valores na consulta. Algo parecido com `value1,value2,value3`. Se um valor `all` personalizado for usado, em vez disso, o valor será algo como `*` ou `all`. 

#### Variáveis de vários valores com uma fonte de dados Graphite
<a name="multi-value-variables-with-a-graphite-data-source"></a>

 O Graphite usa expressões globais. Uma variável com vários valores seria, nesse caso, interpolada como `{host1,host2,host3}` se o valor da variável atual fosse *host1*, *host2* e *host3*. 

#### Variáveis de vários valores com uma fonte de dados Prometheus ou InfluxDB
<a name="multi-value-variables-with-a-prometheus-or-influxdb-data-source"></a>

 O InfluxDB e o Prometheus usam expressões regex, então a mesma variável seria interpolada como `(host1|host2|host3)`. Cada valor também teria escape de regex. Caso contrário, um valor com um caractere de controle regex quebraria a expressão regex. 

#### Variáveis de vários valores com uma fonte de dados elástica
<a name="multi-value-variables-with-an-elastic-data-source"></a>

A Amazon OpenSearch usa a sintaxe de consulta do Lucene, então a mesma variável seria formatada como. `("host1" OR "host2" OR "host3")` Nesse caso, todo valor deve ser de escape para que o valor contenha apenas palavras de controle e aspas do Lucene. 

#### Solucionar problemas de formatação
<a name="formatting-troubles"></a>

 O escape e a formatação automáticos podem causar problemas. Pode ser difícil entender a lógica por trás de um problema, especialmente para InfluxDB e Prometheus, em que o uso da sintaxe regex exige que a variável seja usada no contexto do operador regex. 

 Se você não quiser que o Grafana faça esse escape e formatação automáticos de regex, você pode fazer uma das seguintes opções:
+ Desative as opções **Incluir todas as opções** e **Vários valores**.
+ Use o [formato de variável bruta] (\$1\$1< relref "advanced-variable-format-options.md \$1raw" >\$1\$1).

### Filtrar variáveis com regex
<a name="filter-variables-with-regex"></a>

 Usando a opção de consulta regex, você pode filtrar a lista de opções retornadas pela consulta da variável ou modificar as opções retornadas. 

Esta seção mostra como usar o regex para filtrar e modificar valores na lista suspensa de variáveis. 

 Usando a opção de consulta regex, você filtra a lista de opções retornadas pela consulta da variável ou modifica as opções retornadas. Para obter mais informações, consulte [Expressões regulares](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions). 

 Exemplos de filtragem na seguinte lista de opções: 

```
backend_01
backend_02
backend_03
backend_04
```

#### Filtragem para que somente as opções que terminam com `01` ou `02` sejam retornadas
<a name="filter-so-that-only-the-options-that-end-with-01-or-02-are-returned"></a>

 Regex: 

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

 Resultado: 

```
backend_01
backend_02
```

#### Filtrar e modificar as opções usando um grupo de captura de regex para retornar parte do texto
<a name="filter-and-modify-the-options-using-a-regex-capture-group-to-return-part-of-the-text"></a>

 Regex: 

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

 Resultado: 

```
01
02
```

#### Filtrar e modificar \$1 Exemplo do Prometheus
<a name="filter-and-modify---prometheus-example"></a>

 Lista de opções: 

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

 Regex: 

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

 Resultado: 

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

#### Filtrar e modificar usando grupos nomeados de captura de texto e valor
<a name="filter-and-modify-using-named-text-and-value-capture-groups"></a>

Usando grupos de captura nomeados, você pode capturar partes separadas de “texto” e “valor” das opções retornadas pela consulta da variável. A lista suspensa de variáveis pode conter um nome amigável para cada valor que pode ser selecionado. 

 Por exemplo, ao consultar a métrica `node_hwmon_chip_names` do Prometheus, `chip_name` é mais amigável do que o valor `chip`. Comece com o resultado da consulta da variável a seguir. 

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

 Passou pelo regex a seguir. 

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

 A lista suspensa a seguir é produzida. 

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

 **Observação:** somente nomes de grupos de captura de `text` e `value` são compatíveis. 

### Painéis ou linhas repetidos
<a name="repeat-panels-or-rows"></a>

 Você pode criar dashboards dinâmicos usando *variáveis de modelo*. Todas as variáveis em suas consultas se expandem para o valor atual da variável antes que a consulta seja enviada ao banco de dados. Com variáveis, você pode reutilizar um único dashboard para todos os serviços. 

 Variáveis de modelo podem ser muito úteis para alterar dinamicamente suas consultas em um dashboard inteiro. Se você quiser que o Grafana crie dinamicamente novos painéis ou linhas com base nos valores que você selecionou, você pode usar o recurso *Repetir*. 

#### Painéis repetidos
<a name="repeating-panels"></a>

 Caso tenha uma variável com as opções `Multi-value` ou `Include all value` ativadas, você poderá escolher um painel e fazer com que o Grafana repita esse painel para cada valor selecionado. Você pode encontrar o recurso *Repetir* na *guia Geral* no modo de edição do painel. 

 O `direction` controla como os painéis são organizados. 

Se você escolher`horizontal`, os painéis são organizados side-by-side. O Grafana ajusta automaticamente a largura de cada painel repetido para que toda a linha seja preenchida. Atualmente, você não pode misturar outros painéis em uma linha com um painel repetido. 

 Configure `Max per row` para informar ao Grafana quantos painéis por linha você deseja no máximo. Ele assume *4* como padrão. 

Se você escolher `vertical`, os painéis serão organizados de cima para baixo em uma coluna. A largura dos painéis repetidos é a mesma do primeiro painel (o modelo original) que está sendo repetido. 

Faça alterações somente no primeiro painel (o modelo original). Para que as alterações sejam efetivas em todos os painéis, você precisa iniciar uma reconstrução dinâmica do dashboard. Você pode fazer isso alterando o valor da variável (ou seja, a base para a repetição) ou recarregando o dashboard. 

**nota**  
Painéis repetidos exigem que as variáveis tenham um ou mais itens selecionados. Você não pode repetir um painel zero vez para ocultá-lo.

#### Linhas repetidas
<a name="repeating-rows"></a>

 Conforme visto acima com os painéis, você também poderá repetir as linhas se tiver variáveis definidas com uma opção de seleção `Multi-value` ou `Include all value`. 

 Para ativar esse recurso, você deve primeiro adicionar uma nova *Linha* usando o menu *Adicionar painel*. Em seguida, pause no título da linha e escolha o botão de engrenagem para acessar o painel de configuração `Row Options`. Em seguida, você pode selecionar a variável para a qual deseja repetir a linha. 

 A prática recomendada é usar também uma variável no título da linha. 