

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.

# Creación de plantillas de notificaciones
<a name="v10-alerting-create-templates"></a>

****  
Este tema de documentación está diseñado para los espacios de trabajo de Grafana que admiten la **versión 10.x de Grafana**.  
Para 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).  
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).

Cree plantillas de notificaciones reutilizables para enviarlas a los puntos de contacto.

Puede agregar una o más plantillas a la plantilla de notificaciones.

El nombre de la plantilla de notificación debe ser exclusivo. No puede haber dos plantillas con el mismo nombre en la misma plantilla de notificación o en plantillas de notificación distintas. Evite definir plantillas con el mismo nombre que las plantillas predeterminadas, como: `__subject`, `__text_values_list`, `__text_alert_list`, `default.title` y `default.message`.

En la pestaña Puntos de contacto, puede ver una lista de las plantillas de notificaciones.

## Creación de plantillas de notificaciones
<a name="v10-alerting-creating-templates"></a>

**Creación de una plantilla de notificaciones**

1. Elija **Alertas**, **Puntos de contacto**.

1. Elija la pestaña **Plantillas de notificaciones** y, a continuación, **\$1 Agregar plantilla de notificación**.

1. Elija un nombre para la plantilla de notificaciones, como `email.subject`.

1. Escriba el contenido de la plantilla en el campo de contenido.

   Por ejemplo:

   ```
   {{ if .Alerts.Firing -}}
      {{ len .Alerts.Firing }} firing alerts
      {{ end }}
      {{ if .Alerts.Resolved -}}
      {{ len .Alerts.Resolved }} resolved alerts
      {{ end }}
   ```

1. Guarde los cambios.

   `{{ define "email.subject" }}` (donde `email.subject` es el nombre de la plantilla) y `{{ end }}` se agrega automáticamente al inicio y fin del contenido.

**Creación de una plantilla de notificaciones que contenga más de una plantilla**

1. Elija **Alertas**, **Puntos de contacto**.

1. Elija la pestaña **Plantillas de notificaciones** y, a continuación, **\$1 Agregar plantilla de notificación**.

1. Ingrese un nombre para la plantilla de notificaciones general. Por ejemplo, `email`.

1. Escriba cada plantilla en el campo Contenido, lo que incluye `{{ define "name-of-template" }}` y `{{ end }}` al inicio y fin de cada plantilla. Puede utilizar nombres descriptivos para cada una de las plantillas de la plantilla de notificaciones, por ejemplo, `email.subject` o `email.message`. En este caso, no vuelva a utilizar el nombre de la plantilla de notificaciones que ingresó anteriormente.

   En las secciones posteriores se muestran ejemplos detallados de las plantillas que podría crear.

1. Haga clic en Guardar.

## Vista previa de plantillas de notificaciones
<a name="v10-alerting-preview-templates"></a>

Obtenga una vista previa del aspecto que tendrán las plantillas de notificaciones antes de utilizarlas en los puntos de contacto, lo que ayudará a comprender el resultado de la plantilla que va a crear y le permitirá corregir cualquier error antes de guardarla.

**nota**  
Las vistas previas de las notificaciones solo están disponibles para Grafana Alertmanager.

**Vista previa de las plantillas de notificaciones**

1. Elija **Alertas**, **Puntos de contacto**.

1. Elija la pestaña **Plantillas de notificaciones** y, a continuación, **\$1 Agregar plantilla de notificaciones** o edite una plantilla existente.

1. Agregue o actualice el contenido de la plantilla.

   Se proporcionan los datos predeterminados y puede agregar o editar los datos de alertas, así como las instancias de alertas. Puede agregar los datos de alertas directamente en la propia ventana de datos de carga útil o hacer clic en **Seleccionar instancias de alertas** o **Agregar alertas personalizadas**.

1. [Opcional] Para agregar datos de alertas de instancias de alertas existentes:

   1. Elija **Seleccionar instancias de alertas**.

   1. Pase el ratón sobre las instancias de alertas para ver más información acerca de cada instancia de alertas.

   1. Elija **Confirmar** para agregar la instancia de alertas a la carga útil.

1. [Opcional] Para agregar datos de alertas mediante el editor de datos de alertas, elija **Agregar datos personalizados**:

   1. Agregue anotaciones, etiquetas personalizadas o establezca un panel de control o panel.

   1. Seleccione Activar o Resuelta, en función de si quiere agregar alertas resueltas o de activación a la notificación.

   1. Elija **Agregar datos de alerta**.

   1. Elija **Actualizar vista previa** para ver cómo se verá el contenido de la plantilla y los datos de carga útil correspondientes.

   Si hay algún error en la plantilla, se mostrará en la vista previa y podrá corregirlo antes de guardarlo.

1. Guarde los cambios.

## Creación de una plantilla para el asunto del mensaje
<a name="v10-alerting-create-template-subject"></a>

Cree una plantilla para el asunto de un correo electrónico que contenga el número de alertas resueltas y de activación, como en este ejemplo:

```
1 firing alerts, 0 resolved alerts
```

**Creación de una plantilla para el asunto de un correo electrónico**

1. Cree una plantilla denominada `email.subject` con el siguiente contenido:

   ```
   {{ define "email.subject" }}
   {{ len .Alerts.Firing }} firing alerts, {{ len .Alerts.Resolved }} resolved alerts
   {{ end }}
   ```

1. Para utilizar la plantilla al crear la integración del punto de contacto, colóquela en el campo **Asunto** con la palabra clave `template`.

   ```
   {{ template "email.subject" . }}
   ```

## Creación de una plantilla para el mensaje de un correo electrónico
<a name="v10-alerting-create-template-message"></a>

Cree una plantilla para el mensaje de un correo electrónico que contenga un resumen de todas las alertas resueltas y de activación, como en este ejemplo:

```
There are 2 firing alerts, and 1 resolved alerts

Firing alerts:

- alertname=Test 1 grafana_folder=GrafanaCloud has value(s) B=1
- alertname=Test 2 grafana_folder=GrafanaCloud has value(s) B=2

Resolved alerts:

- alertname=Test 3 grafana_folder=GrafanaCloud has value(s) B=0
```

**Creación de una plantilla para el mensaje de un correo electrónico**

1. Cree una plantilla de notificaciones denominada `email` con dos plantillas en el contenido: `email.message_alert` y `email.message`.

   La plantilla `email.message_alert` se utiliza para imprimir las etiquetas y los valores de cada alerta resuelta y de activación, mientras que la plantilla `email.message` contiene la estructura del correo electrónico.

   ```
   {{- define "email.message_alert" -}}
   {{- range .Labels.SortedPairs }}{{ .Name }}={{ .Value }} {{ end }} has value(s)
   {{- range $k, $v := .Values }} {{ $k }}={{ $v }}{{ end }}
   {{- end -}}
   
   {{ define "email.message" }}
   There are {{ len .Alerts.Firing }} firing alerts, and {{ len .Alerts.Resolved }} resolved alerts
   
   {{ if .Alerts.Firing -}}
   Firing alerts:
   {{- range .Alerts.Firing }}
   - {{ template "email.message_alert" . }}
   {{- end }}
   {{- end }}
   
   {{ if .Alerts.Resolved -}}
   Resolved alerts:
   {{- range .Alerts.Resolved }}
   - {{ template "email.message_alert" . }}
   {{- end }}
   {{- end }}
   
   {{ end }}
   ```

1. Para utilizar la plantilla al crear la integración del punto de contacto, colóquela en el campo **Cuerpo del texto** con la palabra clave `template`.

   ```
   {{ template "email.message" . }}
   ```

## Creación de una plantilla para el título de un mensaje de Slack
<a name="v10-alerting-create-template-slack-title"></a>

Cree una plantilla para el título de un mensaje de Slack que contenga el número de alertas resueltas y de activación, como en el siguiente ejemplo:

```
1 firing alerts, 0 resolved alerts
```

**Creación de una plantilla para el título de un mensaje de Slack**

1. Cree una plantilla denominada `slack.title` con el siguiente contenido:

   ```
   {{ define "slack.title" }}
   {{ len .Alerts.Firing }} firing alerts, {{ len .Alerts.Resolved }} resolved alerts
   {{ end }}
   ```

1. Ejecute la plantilla desde el campo de título de la integración del punto de contacto.

   ```
   {{ template "slack.title" . }}
   ```

## Creación de una plantilla para el contenido de un mensaje de Slack
<a name="v10-alerting-create-template-slack-message"></a>

Cree una plantilla para el contenido de un mensaje de Slack que contenga una descripción de todas las alertas resueltas y de activación, lo que incluye sus etiquetas, anotaciones y la URL del panel.

**nota**  
Esta plantilla es solo para alertas administradas por Grafana. Para usar la plantilla para las alertas administradas por el origen de datos, elimine las referencias a DashboardURL y SilenceURL. Para más información acerca de la configuración de las notificaciones de Prometheus, consulte la [documentación de Prometheus acerca de las notificaciones](https://prometheus.io/docs/alerting/latest/notifications/).

```
1 firing alerts:

[firing] Test1
Labels:
- alertname: Test1
- grafana_folder: GrafanaCloud
Annotations:
- description: This is a test alert
Go to dashboard: https://example.com/d/dlhdLqF4z?orgId=1

1 resolved alerts:

[firing] Test2
Labels:
- alertname: Test2
- grafana_folder: GrafanaCloud
Annotations:
- description: This is another test alert
Go to dashboard: https://example.com/d/dlhdLqF4z?orgId=1
```

**Creación de una plantilla para el contenido de un mensaje de Slack**

1. Cree una plantilla denominada `slack` con dos plantillas en el contenido: `slack.print_alert` y `slack.message`.

   La plantilla `slack.print_alert` se utiliza para imprimir las etiquetas, las anotaciones y DashboardURL, mientras que la plantilla `slack.message` contiene la estructura de la notificación.

   ```
   {{ define "slack.print_alert" -}}
   [{{.Status}}] {{ .Labels.alertname }}
   Labels:
   {{ range .Labels.SortedPairs -}}
   - {{ .Name }}: {{ .Value }}
   {{ end -}}
   {{ if .Annotations -}}
   Annotations:
   {{ range .Annotations.SortedPairs -}}
   - {{ .Name }}: {{ .Value }}
   {{ end -}}
   {{ end -}}
   {{ if .DashboardURL -}}
     Go to dashboard: {{ .DashboardURL }}
   {{- end }}
   {{- end }}
   
   {{ define "slack.message" -}}
   {{ if .Alerts.Firing -}}
   {{ len .Alerts.Firing }} firing alerts:
   {{ range .Alerts.Firing }}
   {{ template "slack.print_alert" . }}
   {{ end -}}
   {{ end }}
   {{ if .Alerts.Resolved -}}
   {{ len .Alerts.Resolved }} resolved alerts:
   {{ range .Alerts.Resolved }}
   {{ template "slack.print_alert" .}}
   {{ end -}}
   {{ end }}
   {{- end }}
   ```

1. Ejecute la plantilla desde el campo del cuerpo del texto de la integración del punto de contacto:

   ```
   {{ template "slack.message" . }}
   ```

## Creación de plantillas para correo electrónico y Slack con plantillas compartidas
<a name="v10-alerting-create-shared-templates"></a>

En lugar de crear plantillas de notificaciones independientes para cada punto de contacto, como el correo electrónico y Slack, puede compartir la misma plantilla.

Por ejemplo, si quiere enviar un correo electrónico con este asunto y un mensaje de Slack con este título `1 firing alerts, 0 resolved alerts`, puede crear una plantilla compartida.

**Creación de una nueva plantilla compartida**

1. Cree una plantilla denominada `common.subject_title` con el siguiente contenido:

   ```
   {{ define "common.subject_title" }}
   {{ len .Alerts.Firing }} firing alerts, {{ len .Alerts.Resolved }} resolved alerts
   {{ end }}
   ```

1. Para el correo electrónico, ejecuta la plantilla desde el campo de asunto de la integración del punto de contacto de correo electrónico:

   ```
   {{ template "common.subject_title" . }}
   ```

1. En el caso de Slack, ejecuta la plantilla desde el campo de título de la integración de puntos de contacto de Slack:

   ```
   {{ template "common.subject_title" . }}
   ```