

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.

# Referencia de la plantilla
<a name="v9-alerting-template-reference"></a>

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

En esta sección se proporciona información de referencia para crear plantillas.

## Datos de plantilla
<a name="v9-alerting-template-data"></a>

Los siguientes datos se transfieren a las plantillas de mensajes.


| Name | Tipo | Notas | 
| --- | --- | --- | 
| `Receiver` | cadena | Nombre del punto de contacto al que se envía la notificación. | 
| `Status` | cadena | firing si se está activando al menos una alerta; de lo contrario, resolved. | 
| `Alerts` | Alerta | Lista de los objetos de alerta que se incluyen en esta notificación (véase más abajo). | 
| `GroupLabels` | KeyValue | Etiquetas por las que se agruparon estas alertas. | 
| `CommonLabels` | KeyValue | Etiquetas comunes a todas las alertas incluidas en esta notificación. | 
| `CommonAnnotations` | KeyValue | Anotaciones comunes a todas las alertas incluidas en esta notificación. | 
| `ExternalURL` | cadena | Enlace para volver a la instancia de Grafana que envió la notificación. Si utiliza un Alertmanager externo, enlace para volver a este Alertmanager. | 

El tipo `Alerts` presenta dos funciones para filtrar las alertas devueltas.
+ `Alerts.Firing`: devuelve una lista de alertas en activación.
+ `Alerts.Resolved`: devuelve una lista de alertas resueltas.

**Alerta (tipo)**

El tipo de alerta contiene los datos siguientes.


| Name | Tipo | Notas | 
| --- | --- | --- | 
| Status | cadena | `firing` o bien `resolved`. | 
| Etiquetas | KeyValue | Un conjunto de etiquetas adjunto a la alerta. | 
| Anotaciones | KeyValue | Un conjunto de anotaciones adjunto a la alerta. | 
| Valores | KeyValue | Valores de todas las expresiones, incluidas las condiciones clásicas | 
| StartsAt | time.Time | Hora en que la alerta empezó a activarse. | 
| EndsAt | time.Time | Se establece solo si se conoce la hora de finalización de una alerta. De lo contrario, se establece en un periodo de tiempo de espera configurable a partir del momento en que se recibió la última alerta. | 
| GeneratorURL | cadena | Enlace para volver a Grafana o a una instancia externa de Alertmanager. | 
| SilenceURL | cadena | Un enlace para silenciar la alerta (con las etiquetas de esta alerta rellenadas previamente). Solo para alertas administradas por Grafana. | 
| DashboardURL | cadena | Enlace al panel de control de Grafana, si la regla de alerta pertenece a uno. Solo para alertas administradas por Grafana. | 
| PanelURL | cadena | Enlace al panel de paneles de control de Grafana, si la regla de alerta pertenece a uno. Solo para alertas administradas por Grafana. | 
| Huella digital | cadena | Huella digital que se puede utilizar para identificar la alerta. | 
| ValueString | cadena | Una cadena que contiene las etiquetas y el valor de cada expresión reducida de la alerta. | 

 **ExtendedData**

El ExtendedData objeto contiene las siguientes propiedades.


| Name | Tipo | Description (Descripción) | Ejemplo | 
| --- | --- | --- | --- | 
| Receptor | `string` | El nombre del punto de contacto que envía la notificación. | `{{ .Receiver }}` | 
| Status | `string` | El estado es `firing if at least one alert is firing, otherwise resolved.`. | `{{ .Status }}` | 
| Alertas | `[]Alert` | Lista de todas las alertas en activación y resueltas de esta notificación. | `There are {{ len .Alerts }} alerts` | 
| Alertas en activación | `[]Alert` | Lista de todas las alertas en activación de esta notificación. | `There are {{ len .Alerts.Firing }} firing alerts` | 
| Alertas resueltas | `[]Alert` | Lista de todas las alertas resueltas de esta notificación. | `There are {{ len .Alerts.Resolved }} resolved alerts` | 
| GroupLabels | `KeyValue` | Etiquetas que agrupan estas alertas en esta notificación. | `{{ .GroupLabels }}` | 
| CommonLabels | `KeyValue` | Etiquetas comunes a todas las alertas incluidas en esta notificación. | `{{ .CommonLabels }}` | 
| CommonAnnotations | `KeyValue` | Anotaciones comunes a todas las alertas de esta notificación. | `{{ .CommonAnnotations }}` | 
| ExternalURL | `string` | Un enlace al espacio de trabajo de Grafana o al Alertmanager que envió esta notificación. | `{{ .ExternalURL }}` | 

**KeyValue type**

El `KeyValue` tipo es un conjunto de pares de key/value cadenas que representan etiquetas y anotaciones.

Además del acceso directo a los datos almacenados como `KeyValue`, también hay métodos para ordenar, eliminar y transformar los datos.


| Name | Argumentos | Devuelve | Notas | Ejemplo | 
| --- | --- | --- | --- | --- | 
| SortedPairs |  | Lista ordenada de pares de cadenas de claves y valores |  | `{{ .Annotations.SortedPairs }}` | 
| Quitar | []string | KeyValue | Devuelve una copia del Key/Value mapa sin las claves indicadas. | `{{ .Annotations.Remove "summary" }}` | 
| Nombres |  | []string | Lista de nombres de etiquetas | `{{ .Names }}` | 
| Valores |  | []string | Lista de valores de etiquetas | `{{ .Values }}` | 

**Tiempo**

El tiempo proviene del paquete [https://pkg.go.dev/time#Time](https://pkg.go.dev/time#Time) de Go. Puede imprimir una fecha y hora en varios formatos diferentes. Por ejemplo, para imprimir la fecha y hora a la que se activó una alerta en el formato `Monday, 1st January 2022 at 10:00AM`, escriba la siguiente plantilla:

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

Puede encontrar una referencia al formato de hora de Go [aquí](https://pkg.go.dev/time#pkg-constants).

## Funciones de plantilla
<a name="v9-alerting-template-functions"></a>

Con las funciones de plantilla, puede procesar etiquetas y anotaciones para generar notificaciones dinámicas. Están disponibles las siguientes funciones.


| Name | Tipo de argumento | Tipo de devolución | Description (Descripción) | 
| --- | --- | --- | --- | 
| `humanize` | número o cadena | cadena | Convierte un número a un formato más legible mediante prefijos métricos. | 
| `humanize1024` | número o cadena | cadena | Como humanize, pero usa 1024 como base en lugar de 1000. | 
| `humanizeDuration` | número o cadena | cadena | Convierte una duración en segundos a un formato más legible. | 
| `humanizePercentage` | número o cadena | cadena | Convierte un valor de relación en una fracción de 100. | 
| `humanizeTimestamp` | número o cadena | cadena | Convierte una marca de tiempo de Unix en segundos a un formato más legible. | 
| `title` | cadena | cadena | strings.Title, pone en mayúscula el primer carácter de cada palabra. | 
| `toUpper` | cadena | cadena | cadenas. ToUpper, convierte todos los caracteres a mayúsculas. | 
| `toLower` | cadena | cadena | cadenas. ToLower, convierte todos los caracteres a minúsculas. | 
| `match` | patrón, texto | Booleano | expresiones regulares. MatchString Pruebas para detectar una coincidencia de expresiones regulares no anclada. | 
| `reReplaceAll` | patrón, reemplazo, texto | cadena | Regexp.ReplaceAllString Sustitución de expresiones regulares, sin anclaje. | 
| `graphLink` | cadena: objeto JSON con campos `expr` y `datasource` | cadena | Devuelve la ruta a la vista gráfica en Explore para la expresión y el origen de datos determinados. | 
| `tableLink` | cadena: objeto JSON con campos `expr` y `datasource` | cadena | Devuelve la ruta a la vista tabular en Explore para la expresión y el origen de datos determinados. | 
| `args` | []interface{} | map[string]interface{} | Convierte una lista de objetos en una asignación con claves, por ejemplo, arg0, arg1. Utilice esta función para pasar varios argumentos a las plantillas. | 
| `externalURL` | ninguno | cadena | Devuelve una cadena que representa la URL externa. | 
| `pathPrefix` | ninguno | cadena | Devuelve la ruta de la URL externa. | 

En la siguiente tabla se muestran ejemplos de uso de cada función.


| Función | TemplateString | Input | Expected | 
| --- | --- | --- | --- | 
| humanize | { humanize $value } | 1234567.0 | 1,235 M | 
| humanize1024 | { humanize1024 $value } | 1048576.0 | 1 Mi | 
| humanizeDuration | { humanizeDuration $value } | 899,99 | 14 min 59 s | 
| humanizePercentage | { humanizePercentage $value } | 0,134567 | 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 | 
| emparejar | { match "a\+" $labels.instance } | aa | true | 
| rojo ReplaceAll | {{re ReplaceAll «localhost :( .\*)» «mi.dominio: $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 | 