

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

# Referência do modelo
<a name="v9-alerting-template-reference"></a>

****  
Este tópico de documentação foi desenvolvido para espaços de trabalho do Grafana compatíveis com o **Grafana versão 9.x**.  
Para espaços de trabalho do Grafana que suportam a versão 12.x do Grafana, consulte. [Trabalhando na versão 12 do Grafana](using-grafana-v12.md)  
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 8.x, consulte [Trabalhar no Grafana versão 8](using-grafana-v8.md).

Esta seção fornece informações de referência para criar os modelos.

## Dados do modelo
<a name="v9-alerting-template-data"></a>

Os dados a seguir são passados para os modelos de mensagem.


| Nome | Tipo | Observações | 
| --- | --- | --- | 
| `Receiver` | string | Nome do ponto de contato para o qual a notificação está sendo enviada. | 
| `Status` | string | disparado se pelo menos um alerta estiver sendo disparado, caso contrário, resolvido. | 
| `Alerts` | Alerta | Lista de objetos de alerta incluídos nessa notificação (veja abaixo). | 
| `GroupLabels` | KeyValue | Rótulos pelos quais esses alertas foram agrupados. | 
| `CommonLabels` | KeyValue | Rótulos comuns a todos os alertas incluídos nessa notificação. | 
| `CommonAnnotations` | KeyValue | Anotações comuns a todos os alertas incluídos nessa notificação. | 
| `ExternalURL` | string | Link de retorno para o Grafana que enviou a notificação. Se estiver usando o Alertmanager externo, volte para ele. | 

O tipo `Alerts` expõe duas funções para filtrar os alertas retornados.
+ `Alerts.Firing`: retorna uma lista de alertas disparados.
+ `Alerts.Resolved`: retorna uma lista de alertas resolvidos.

**Alerta (tipo)**

O tipo de alerta contém os dados a seguir.


| Nome | Tipo | Observações | 
| --- | --- | --- | 
| Status | string | `firing` ou `resolved`. | 
| Rótulos | KeyValue | Um conjunto de rótulos anexados ao alerta. | 
| Anotações | KeyValue | Um conjunto de anotações anexadas ao alerta. | 
| Valores | KeyValue | Os valores de todas as expressões, incluindo as condições clássicas | 
| StartsAt | time.Time | Hora em que o alerta começou a disparar. | 
| EndsAt | time.Time | Definido somente se a hora de término de um alerta for conhecida. Caso contrário, defina um período de tempo limite configurável a partir do momento em que o último alerta foi recebido. | 
| GeneratorURL | string | Um link de retorno para o Grafana ou para o Alertmanager externo. | 
| SilenceURL | string | Um link para silenciar o alerta (com rótulos para esse alerta pré-preenchidos). Somente para alertas gerenciados pelo Grafana. | 
| DashboardURL | string | Link para o dashboard do Grafana, se a regra de alerta pertencer a um. Somente para alertas gerenciados pelo Grafana. | 
| PanelURL | string | Link para o painel do dashboard do Grafana, se a regra de alerta pertencer a um. Somente para alertas gerenciados pelo Grafana. | 
| Impressão digital | string | Impressão digital que pode ser usada para identificar o alerta. | 
| ValueString | string | Uma string que contém os rótulos e o valor de cada expressão reduzida no alerta. | 

 **ExtendedData**

O ExtendedData objeto contém as seguintes propriedades.


| Nome | Tipo | Description | Exemplo | 
| --- | --- | --- | --- | 
| Receptor | `string` | O nome do ponto de contato que envia a notificação. | `{{ .Receiver }}` | 
| Status | `string` | O status é `firing if at least one alert is firing, otherwise resolved.` | `{{ .Status }}` | 
| Alertas | `[]Alert` | Lista de todos os alertas disparados e resolvidos nesta notificação. | `There are {{ len .Alerts }} alerts` | 
| Alertas disparados | `[]Alert` | Lista de todos os alertas disparados nesta notificação. | `There are {{ len .Alerts.Firing }} firing alerts` | 
| Alertas resolvidos | `[]Alert` | Lista de todos os alertas resolvidos nesta notificação. | `There are {{ len .Alerts.Resolved }} resolved alerts` | 
| GroupLabels | `KeyValue` | Os rótulos que agrupam esses alertas nesta notificação. | `{{ .GroupLabels }}` | 
| CommonLabels | `KeyValue` | Os rótulos comuns a todos os alertas nesta notificação. | `{{ .CommonLabels }}` | 
| CommonAnnotations | `KeyValue` | As anotações comuns a todos os alertas nesta notificação. | `{{ .CommonAnnotations }}` | 
| ExternalURL | `string` | Um link para o espaço de trabalho do Grafana ou para o Alertmanager que enviou esta notificação. | `{{ .ExternalURL }}` | 

**KeyValue tipo**

O `KeyValue` tipo é um conjunto de pares de key/value strings que representam rótulos e anotações.

Além do acesso direto aos dados armazenados como um `KeyValue`, também existem métodos para classificar, remover e transformar os dados.


| Nome | Argumentos | Retornos | Observações | Exemplo | 
| --- | --- | --- | --- | --- | 
| SortedPairs |  | Lista ordenada de pares de strings de chave e valor |  | `{{ .Annotations.SortedPairs }}` | 
| Remover | []string | KeyValue | Retorna uma cópia do Key/Value mapa sem as chaves fornecidas. | `{{ .Annotations.Remove "summary" }}` | 
| Nomes |  | []string | Lista de nomes de rótulos | `{{ .Names }}` | 
| Valores |  | []string | Lista de valores de rótulos | `{{ .Values }}` | 

**Tempo**

A hora vem do pacote [https://pkg.go.dev/time#Time](https://pkg.go.dev/time#Time) do Go. Você pode imprimir uma hora em vários formatos diferentes. Por exemplo, para imprimir a hora em que um alerta foi disparado no formato `Monday, 1st January 2022 at 10:00AM`, você escreve o seguinte modelo:

```
{{ .StartsAt.Format "Monday, 2 January 2006 at 3:04PM" }}
```

Você pode encontrar uma referência para o formato de hora do Go [aqui](https://pkg.go.dev/time#pkg-constants).

## Funções de modelo
<a name="v9-alerting-template-functions"></a>

Ao usar funções de modelo, você pode processar rótulos e anotações para gerar notificações dinâmicas. As funções a seguir estão disponíveis.


| Nome | Tipo de argumento | Tipo de retorno | Description | 
| --- | --- | --- | --- | 
| `humanize` | número ou string | string | Converte um número em um formato mais legível, usando prefixos de métricas. | 
| `humanize1024` | número ou string | string | Como o humanize, mas usa 1024 como base em vez de 1000. | 
| `humanizeDuration` | número ou string | string | Converte uma duração em segundos em um formato mais legível. | 
| `humanizePercentage` | número ou string | string | Converte um valor de proporção em uma fração de 100. | 
| `humanizeTimestamp` | número ou string | string | Converte um carimbo de data e hora do Unix em segundos em um formato mais legível. | 
| `title` | string | string | strings.Title, coloca em maiúscula o primeiro caractere de cada palavra. | 
| `toUpper` | string | string | cordas. ToUpper, converte todos os caracteres em maiúsculas. | 
| `toLower` | string | string | cordas. ToLower, converte todos os caracteres em minúsculas. | 
| `match` | padrão, texto | Booleano | regexp. MatchString Testes para uma correspondência de expressão regular não ancorada. | 
| `reReplaceAll` | padrão, substituição, texto | string | Regexp.ReplaceAllString Substituição Regexp, não ancorada. | 
| `graphLink` | string: objeto JSON com os campos `expr` e `datasource` | string | Retorna o caminho para a visualização gráfica no Explore para a expressão e a fonte de dados fornecidas. | 
| `tableLink` | string: objeto JSON com os campos `expr` e `datasource` | string | Retorna o caminho para a visualização tabular no Explore para a expressão e a fonte de dados fornecidas. | 
| `args` | []interface{} | map[string]interface{} | Converte uma lista de objetos em um mapa com chaves, por exemplo, arg0, arg1. Use essa função para passar vários argumentos para modelos. | 
| `externalURL` | nothing | string | Retorna uma string representando o URL externo. | 
| `pathPrefix` | nothing | string | Retorna o caminho do URL externo. | 

A tabela a seguir mostra exemplos do uso de cada função.


| Função | TemplateString | Input | Esperados | 
| --- | --- | --- | --- | 
| humanize | { humanize $value } | 1234567,0 | 1,235M | 
| humanize1024 | { humanize1024 $value } | 1048576,0 | 1Mi | 
| humanizeDuration | { humanizeDuration $value } | 899,99 | 14m 59s | 
| humanizePercentage | { humanizePercentage $value } | 0,1234567 | 12,35% | 
| humanizeTimestamp | { humanizeTimestamp $value } | 1435065584.128 | 2015-06-23 13:19:44.128 \+0000 UTC | 
| título | { $value \| title } | aa bB CC | Aa Bb Cc | 
| toUpper | { $value \| toUpper } | aa bB CC | AA BB CC | 
| toLower | { $value \| toLower } | aa bB CC | aa bb cc | 
| match | { match "a\+" $labels.instance } | aa | true | 
| re ReplaceAll | {{re ReplaceAll “localhost :( .\*)” “meu.domínio: $1" $labels.instance}} | localhost:3000 | my.domain:3000 | 
| graphLink | {{ graphLink "{\\"expr\\": \\"up\\", \\"datasource\\": \\"gdev-prometheus\\"}" }} |  | /explore?left=["now-1h","now","gdev-prometheus",{"datasource":"gdev-prometheus","expr":"up","instant":false,"range":true}] | 
| tableLink | {{ tableLink "{\\"expr\\":\\"up\\", \\"datasource\\":\\"gdev-prometheus\\"}" }} |  | /explore?left=["now-1h","now","gdev-prometheus",{"datasource":"gdev-prometheus","expr":"up","instant":true,"range":false}] | 
| args | {{define "x"}}{{.arg0}} {{.arg1}}{{end}}{{template "x" (args 1 "2")}} |  | 1 2 | 
| externalURL | { externalURL } |  | http://localhost/path/prefix | 
| pathPrefix | { pathPrefix } |  | /path/prefix | 