

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.

# Administración de notificaciones de alerta
<a name="v9-alerting-managenotifications"></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 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).

Elegir cómo, cuándo y dónde enviar las notificaciones de alertas es una parte importante de la configuración del sistema de alertas. Estas decisiones tendrán un impacto directo en su capacidad para resolver los problemas rápidamente y no pasar por alto nada importante.

Como primer paso, defina los *puntos de contacto*; a dónde enviar las notificaciones de alerta. Un punto de contacto puede ser un conjunto de destinos para notificaciones coincidentes. Agregue plantillas de notificaciones a los puntos de contacto para reutilizarlas y enviar mensajes coherentes en las notificaciones.

A continuación, cree una *política de notificaciones*, que es un conjunto de reglas sobre dónde, cuándo y cómo se envían las alertas a los puntos de contacto. En una política de notificaciones, para definir dónde enviar las notificaciones de alerta, elija uno de los puntos de contacto que ha creado. Agregue temporizadores de silencio a su política de notificaciones. Un *temporizador de silencio* es un intervalo de tiempo periódico durante el cual no quiere que se envíe ninguna notificación.

Cuando se evalúa una regla de alerta, esta envía las instancias de alerta al Alertmanager; una regla de alerta puede activar varias *instancias de alerta* individuales.

Alertmanager recibe estas instancias de alerta y, a continuación, gestiona los tiempos de silencio, agrupa las alertas y envía notificaciones a sus puntos de contacto, tal y como esté definido en la política de notificaciones.

**Topics**
+ [Alertmanager](v9-alerting-managenotifications-alertmanager.md)
+ [Uso de puntos de contacto](v9-alerting-contact-points.md)
+ [Uso de políticas de notificaciones](v9-alerting-notification-policies.md)
+ [Personalización de las notificaciones](v9-alerting-notifications.md)
+ [Silenciamiento de las notificaciones de alertas para los orígenes de datos de Prometheus](v9-alerting-silences.md)
+ [Temporizadores de silencio](v9-alerting-notification-muting.md)
+ [Visualización y filtrado por grupos de alertas](v9-alerting-viewfiltergroups.md)
+ [Visualización de los errores de notificación](v9-alerting-viewnotificationerrors.md)

# Alertmanager
<a name="v9-alerting-managenotifications-alertmanager"></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 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).

Alertmanager le permite administrar y responder a las alertas de forma rápida y eficiente. Recibe alertas, gestiona los silenciamientos, las inhibiciones, la agrupación y el enrutamiento mediante el envío de notificaciones a través del canal que prefiera, por ejemplo, correo electrónico o Slack.

En Grafana, puede utilizar Grafana Alertmanager o un Alertmanager externo. También puede ejecutar varios Alertmanagers. Su decisión dependerá de la configuración y del lugar donde se generen las alertas.

**Grafana Alertmanager**

Grafana Alertmanager es un Alertmanager interno preconfigurado y disponible para su selección de manera predeterminada si ejecuta una instancia de Grafana en las instalaciones o de código abierto.

Grafana Alertmanager puede recibir alertas de Grafana, pero no puede recibir alertas de fuera de Grafana, por ejemplo, de Mimir o Loki.

**nota**  
Grafana Alertmanager no admite reglas de inhibición.

**Alertmanager externo**

Si quiere utilizar un único Alertmanager para recibir todas las alertas de Grafana, Loki, Mimir y Prometheus, puede configurar Grafana para utilizar un Alertmanager externo. Este administrador de alertas externo se puede configurar y administrar desde Grafana.

Estos son dos ejemplos de casos en los que quizás quiera configurar su propio Alertmanager externo y enviar sus alertas allí en lugar de Grafana Alertmanager:

1. Ya tiene Alertmanagers en las instalaciones en su propia infraestructura en la nube que ha configurado y aún quiere utilizar, porque tiene otros generadores de alertas, como Prometheus.

1. Quiere utilizar Prometheus en las instalaciones y Grafana alojado para enviar alertas al mismo Alertmanager que se ejecuta en su infraestructura en la nube.

Los administradores de alertas están visibles en el menú desplegable de las páginas Alertas, Puntos de contacto y Políticas de notificación.

Si va a aprovisionar el origen de datos, establezca la marca `handleGrafanaManagedAlerts` del campo `jsonData` en `true` para enviar alertas administradas por Grafana a este Alertmanager.

# Uso de puntos de contacto
<a name="v9-alerting-contact-points"></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 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).

Utilice los puntos de contacto para definir cómo se notifica a sus contactos cuando se inicia una alerta. Un punto de contacto puede tener una o más integraciones de puntos de contacto, por ejemplo, Amazon Simple Notification Service o Slack. Cuando se inicia una alerta, se envía una notificación a todas las integraciones de puntos de contacto listadas para un punto de contacto. Si lo desea, puede usar [plantillas de notificaciones](v9-alerting-create-templates.md) para personalizar los mensajes de notificación para los tipos de puntos de contacto.

**nota**  
Puede crear y editar puntos de contacto para las alertas administradas por Grafana. Los puntos de contacto para las alertas de Alertmanager son de solo lectura.

## Uso de puntos de contacto
<a name="v9-alerting-working-contact-points"></a>

Los procedimientos que aparecen a continuación le muestran cómo agregar, editar, probar y eliminar puntos de contacto.

**Cómo agregar un punto de contacto**

1. En la consola de Grafana, en el menú de Grafana, seleccione el icono **Alertas** (campana) para abrir la página **Alertas**.

1. Elija **Puntos de contacto** y, a continuación, **Agregar punto de contacto**.

1. En el menú desplegable **Alertmanager**, seleccione un Alertmanager. De forma predeterminada, está seleccionado Grafana Alertmanager.

1. Ingrese un **nombre** para el punto de contacto.

1. En **Integración de punto de contacto**, elija un tipo y los campos obligatorios en función de ese tipo. Por ejemplo, si elige Slack, ingrese los canales y usuarios de Slack con los que debe contactar.

1. Si está disponible para el punto de contacto que seleccionó, elija **Configuración opcional** para especificar configuraciones adicionales.

1. En **Configuración de notificaciones**, si lo desea, seleccione **Deshabilitar el mensaje resuelto** si no desea recibir una notificación cuando se resuelva una alerta.

1. Si su punto de contacto necesita más tipos de puntos de contacto, puede elegir **Agregar integración de punto de contacto** y repetir los pasos para cada tipo de punto de contacto que necesite.

1. Elija **Guardar punto de contacto** para guardar los cambios.

**Edición de un punto de contacto**

1. Elija **Puntos de contacto** para ver una lista de los puntos de contacto existentes.

1. Seleccione el punto de contacto que desee editar y, a continuación, seleccione el icono **Editar** (lápiz).

1. Haga los cambios necesarios y, a continuación, seleccione **Guardar punto de contacto** para guardar los cambios.

Una vez creado el punto de contacto, puede enviar una notificación de prueba para comprobar que está configurado correctamente.

**Envío de una notificación de prueba**

1. Elija **Puntos de contacto** para abrir la lista de los puntos de contacto existentes.

1. Seleccione el punto de contacto que desee probar y, a continuación, seleccione el icono **Editar** (lápiz).

1. Seleccione el icono **Probar** (avión de papel).

1. Elija si desea enviar una notificación de prueba predefinida o seleccione **Personalizar** para agregar sus propias anotaciones y etiquetas personalizadas a la notificación de prueba.

1. Elija **Enviar notificación de prueba** para probar la alerta con los puntos de contacto indicados.

Puede eliminar los puntos de contacto que la política de notificaciones no esté utilizando.

**Eliminación de un punto de contacto**

1. Elija **Puntos de contacto** para abrir la lista de los puntos de contacto existentes.

1. Seleccione el punto de contacto que desee eliminar y, a continuación, seleccione el icono **Eliminar** (papelera).

1. En el cuadro de diálogo de confirmación, elija **Sí, eliminar**.

**nota**  
Si una política de notificaciones está utilizando el punto de contacto, debe eliminarla o editarla para usar un punto de contacto diferente antes de eliminar el punto de contacto.

## Lista de los notificadores admitidos
<a name="v9-alerting-contactpoint-supported-notifiers"></a>


|  Name  |  Tipo  | 
| --- | --- | 
| Amazon SNS  |  sns  | 
|  OpsGenie  |  opsgenie  | 
| PagerDuty  |  pagerduty  | 
| Slack  |  slack  | 
|  VictorOps  |  victorops  | 

# Uso de políticas de notificaciones
<a name="v9-alerting-notification-policies"></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 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).

Las políticas de notificaciones determinan cómo se dirigen las alertas a los puntos de contacto. Las políticas tienen una estructura de árbol, en la que cada política puede incluir una o varias políticas secundarias. Cada política, excepto la política raíz, también puede coincidir con etiquetas de alerta específicas. La política raíz evalúa cada alerta y, posteriormente, las evalúa cada política secundaria. Si habilita la opción `Continue matching subsequent sibling nodes` para una política específica, la evaluación continúa incluso después de una o más coincidencias. Los ajustes de configuración y la información del punto de contacto de una política principal rigen el comportamiento de una alerta que no coincide con ninguna de las políticas secundarias. Una política raíz rige cualquier alerta que no coincida con una política específica.

**nota**  
Puede crear y editar políticas de notificaciones para las alertas administradas por Grafana. Las políticas de notificaciones de las alertas de Alertmanager son de solo lectura.

**Agrupación de notificaciones**

La agrupación clasifica las notificaciones de alerta de naturaleza similar en un único embudo. Esto le permite controlar las notificaciones de alerta durante las interrupciones más graves, cuando muchas partes de un sistema fallan al mismo tiempo, lo que provoca que se inicie un gran número de alertas simultáneamente.

**Ejemplo de agrupación**

Supongamos que tiene 100 servicios conectados a una base de datos en diferentes entornos. Estos servicios se diferencian por la etiqueta `env=environmentname`. Hay una regla de alerta para controlar si sus servicios pueden llegar a la base de datos. La regla de alerta crea alertas llamadas `alertname=DatabaseUnreachable`.

Si se produce una partición de red en la que la mitad de los servicios ya no pueden acceder a la base de datos, se inician 50 alertas diferentes. En este caso, querrá recibir una notificación de una sola página (en lugar de 50) con una lista de los entornos afectados.

Puede configurar la agrupación para que sea `group_by: [alertname]` (sin utilizar la etiqueta `env`, que es diferente para cada servicio). Con esta configuración, Grafana envía una única notificación compacta que incluye todos los entornos afectados por esta regla de alerta.

**Grupos especiales**

Grafana tiene dos grupos especiales. El grupo predeterminado `group_by: null` agrupa *todas* las alertas en un solo grupo. También puede utilizar una etiqueta especial denominada `...` para agrupar las alertas por todas las etiquetas, lo que deshabilita la agrupación y envía cada alerta a su propio grupo.

## Uso de notificaciones
<a name="v9-alerting-notification-policies-working"></a>

Los procedimientos que aparecen a continuación le muestran cómo crear y administrar políticas de notificaciones.

**Edición de la política de notificaciones raíz**

1. En la consola de Grafana, en el menú de Grafana, seleccione el icono **Alertas** (campana) para abrir la página **Alertas**.

1. Elija **Políticas de notificación**.

1. En el menú desplegable **Alertmanager**, seleccione el Alertmanager que desea editar.

1. En la sección **Política raíz**, seleccione el icono **Editar** (lápiz).

1. En **Punto de contacto predeterminado**, actualice el punto de contacto al que se deben enviar las notificaciones de las reglas cuando las reglas de alerta no coincidan con ninguna política específica.

1. En **Agrupar por**, elija las etiquetas (o grupos especiales) por las que agrupar las alertas.

1. En **Opciones de temporización**, seleccione una de las siguientes opciones.
   + **Espera de grupo**: tiempo de espera para almacenar en búfer las alertas del mismo grupo antes de enviar una notificación inicial. El valor predeterminado es de 30 segundos.
   + **Intervalo de grupo**: intervalo de tiempo mínimo entre dos notificaciones de un grupo. El valor predeterminado es 5 minutos.
   + **Intervalo de repetición**: intervalo de tiempo mínimo antes de volver a enviar una notificación si no se han agregado alertas nuevas al grupo. El valor predeterminado es 4 horas.

1. Elija **Guardar** para guardar los cambios.

**Adición de una nueva política específica de nivel superior**

1. En la consola de Grafana, en el menú de Grafana, seleccione el icono **Alertas** (campana) para abrir la página **Alertas**.

1. Elija **Políticas de notificación**.

1. En el menú desplegable **Alertmanager**, seleccione el Alertmanager que desea editar.

1. En la sección **Enrutamiento específico**, seleccione **Nueva política específica**.

1. En la sección **Etiquetas coincidentes**, agregue una o más etiquetas de alerta coincidentes. Más adelante en este tema se ofrece más información sobre la coincidencia de etiquetas.

1. En **Punto de contacto**, agregue el punto de contacto al que se van a enviar las notificaciones si la alerta coincide con esta política específica. Las políticas anidadas anulan este punto de contacto.

1. Si lo desea, habilite la opción **Continuar con la coincidencia de los nodos subsiguientes del mismo nivel** para seguir haciendo coincidir las políticas del mismo nivel incluso después de que la alerta coincida con la política actual. Cuando esta política está habilitada, puede recibir más de una notificación para la misma alerta.

1. Si lo desea, seleccione **Anular agrupación** para especificar una agrupación diferente de la política raíz.

1. Si lo desea, seleccione **Anular temporizadores generales** para anular las opciones de temporización de la política de notificaciones de grupo.

1. Elija **Guardar política** para guardar los cambios.

**Adición de una política anidada**

1. Amplíe la política específica en la que desee crear una política anidada.

1. Elija **Agregar política anidada** y, a continuación, agregue los detalles (como cuando se agrega una política específica de nivel superior).

1. Elija **Guardar política** para guardar los cambios.

**Edición de una política específica**

1. En la página **Alertas**, seleccione **Políticas de notificación** para abrir la página en la que se muestran las políticas existentes.

1. Seleccione la política que desea editar y, a continuación, elija el icono **Editar** (lápiz).

1. Efectúe los cambios oportunos (como cuando agrega una política específica de nivel superior).

1. Elija **Guardar política**.

**Búsqueda de políticas**

Puede buscar en el árbol de políticas por *Criterios de coincidencia de etiquetas* o *puntos de contacto*.
+ Para buscar por punto de contacto, ingrese el nombre parcial o completo de un punto de contacto en el campo **Buscar por punto de contacto**.
+ Para buscar por etiqueta, introduzca un criterio de coincidencia de etiquetas válido en el campo **Buscar por etiqueta**. Se pueden ingresar varios criterios de coincidencia separados por una coma. Por ejemplo, una entrada de criterio de coincidencia válida podría ser `severity=high, region=~EMEA|NA`.
**nota**  
Al buscar por etiqueta, todas las políticas coincidentes coincidirán será coincidencias exactas. No se admiten las coincidencias parciales ni las coincidencias de estilo regular.

**Cómo funciona la búsqueda de coincidencias de etiquetas**

Una política coincide con una alerta si las etiquetas de la alerta coinciden con todas las *etiquetas coincidentes* especificadas en la política.
+ **Etiqueta**: nombre de la etiqueta que debe coincidir. Debe coincidir exactamente con el nombre de la etiqueta de la alerta.
+ **Operador**: operador utilizado para comparar el valor de la etiqueta con el valor de la etiqueta coincidente. Los operadores disponibles son:
  + `=` Seleccione etiquetas cuyo valor coincida exactamente con la cadena proporcionada.
  + `!=` Seleccione etiquetas cuyo valor no coincida con la cadena proporcionada.
  + `=~` Seleccione etiquetas cuyo valor coincida con el valor interpretado por expresiones regulares de la cadena proporcionada (la cadena proporcionada se interpreta como una expresión regular).
  + `!=` Seleccione etiquetas que no coincidan con la expresión regular proporcionada.
+ **Valor**: el valor con el que debe coincidir el valor de la etiqueta. Puede coincidir como una cadena o como una expresión regular, según el operador elegido.

# Personalización de las notificaciones
<a name="v9-alerting-notifications"></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 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).

Personalice sus notificaciones con plantillas de notificaciones.

Puede usar plantillas de notificaciones para cambiar el título, el mensaje y el formato del mensaje de sus notificaciones.

Las plantillas de notificaciones no están vinculadas a integraciones de puntos de contacto específicas, como el correo electrónico o Slack. Sin embargo, puede optar por crear plantillas de notificaciones independientes para las distintas integraciones de puntos de contacto.

Puede utilizar las plantillas de notificaciones para:
+ Agregar, eliminar o reordenar la información de la notificación, incluidos el resumen, la descripción, las etiquetas y anotaciones, los valores y los enlaces
+ Formatear el texto en negrita y cursiva y agregar o eliminar saltos de línea

No puede utilizar las plantillas de notificaciones para:
+ Cambiar el diseño de las notificaciones en los servicios de mensajería instantánea como Slack y Microsoft Teams

**Topics**
+ [Uso del lenguaje de creación de plantillas de Go](v9-alerting-notifications-go-templating.md)
+ [Creación de plantillas de notificaciones](v9-alerting-create-templates.md)
+ [Referencia de la plantilla](v9-alerting-template-reference.md)

# Uso del lenguaje de creación de plantillas de Go
<a name="v9-alerting-notifications-go-templating"></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 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).

Las plantillas de notificaciones se escriben en el lenguaje de plantillas de Go, [texto/plantilla](https://pkg.go.dev/text/template).

En esta sección se proporciona información general sobre el lenguaje de creación de plantillas de Go y las plantillas de escritura en texto/plantilla.

## Punto
<a name="v9-go-dot"></a>

Dentro text/template hay un cursor especial llamado punto, y se escribe como`.`. Puede pensar en este cursor como una variable cuyo valor cambia según el lugar de la plantilla en el que se utilice. Por ejemplo, al principio de una plantilla de notificación `.` hace referencia al objeto `ExtendedData`, que contiene varios campos, entre los que se incluyen `Alerts`, `Status`, `GroupLabels`, `CommonLabels`, `CommonAnnotations` y `ExternalURL`. Sin embargo, el punto puede hacer referencia a otra cosa cuando se usa en un `range` sobre una lista, cuando se usa dentro de `with` o cuando se escriben plantillas de características que se van a usar en otras plantillas. Puede ver ejemplos de esto en [Creación de plantillas de notificaciones](v9-alerting-create-templates.md) y todos los datos y funciones en la [Referencia de la plantilla](v9-alerting-template-reference.md).

## Etiquetas de apertura y cierre
<a name="v9-go-openclosetags"></a>

En texto/plantilla, las plantillas comienzan por `{{` y terminan en `}}`, independientemente de si la plantilla imprime una variable o ejecuta estructuras de control, como las instrucciones if. Se diferencia en esto de otros lenguajes de creación de plantillas, como Jinja, donde la impresión de una variable usa `{{` y `}}`, y las estructuras de control usan `{%` y `%}`.

## Print (Imprimir)
<a name="v9-go-print"></a>

Para imprimir el valor de algo, use `{{` y `}}`. Puede imprimir el valor de un punto, un campo de punto, el resultado de una función y el valor de una [variable](#v9-go-variables). Por ejemplo, para imprimir el campo `Alerts` donde el punto hace referencia a `ExtendedData`, escribiría lo siguiente:

```
{{ .Alerts }}
```

## Iteración en alertas
<a name="v9-go-iterate-alerts"></a>

Para imprimir solo las etiquetas de cada alerta, en lugar de toda la información sobre la alerta, puede usar `range` para iterar las alertas en `ExtendedData`:

```
{{ range .Alerts }}
{{ .Labels }}
{{ end }}
```

Dentro del rango, el punto ya no hace referencia a `ExtendedData`, sino a una `Alert`. Puede utilizar `{{ .Labels }}` para imprimir las etiquetas de cada alerta. Esto funciona porque `{{ range .Alerts }}` cambia el punto para hacer referencia a la alerta actual de la lista de alertas. Cuando el rango finaliza, el punto se restablece al valor que tenía antes del inicio del rango, que en este ejemplo es `ExtendedData`:

```
{{ range .Alerts }}
{{ .Labels }}
{{ end }}
{{/* does not work, .Labels does not exist here */}}
{{ .Labels }}
{{/* works, cursor was reset */}}
{{ .Status }}
```

## Iteración en anotaciones y etiquetas
<a name="v9-go-iterate-labels"></a>

Vamos a escribir una plantilla para imprimir las etiquetas de cada alerta en el formato `The name of the label is $name, and the value is $value`, donde `$name` y `$value` contienen el nombre y el valor de cada etiqueta.

Como en el ejemplo anterior, utilice un rango para recorrer las alertas en iteración en `.Alerts` de forma que el punto haga referencia a la alerta actual de la lista de alertas y, a continuación, utilice un segundo rango en las etiquetas ordenadas para que el punto se actualice por segunda vez para hacer referencia a la etiqueta actual. Dentro del segundo rango, utilice `.Name` e `.Value` para imprimir el nombre y el valor de cada etiqueta:

```
{{ range .Alerts }}
{{ range .Labels.SortedPairs }}
The name of the label is {{ .Name }}, and the value is {{ .Value }}
{{ end }}
{{ range .Annotations.SortedPairs }}
The name of the annotation is {{ .Name }}, and the value is {{ .Value }}
{{ end }}
{{ end }}
```

## Instrucciones if
<a name="v9-go-if"></a>

Puede usar las instrucciones if en las plantillas. Por ejemplo, para imprimir `There are no alerts` si no hay alertas, en `.Alerts` escribiría lo siguiente:

```
{{ if .Alerts }}
There are alerts
{{ else }}
There are no alerts
{{ end }}
```

## With
<a name="v9-go-with"></a>

With es similar a las instrucciones if, pero a diferencia de las instrucciones if, `with` actualiza el punto para hacer referencia al valor de las instrucciones with:

```
{{ with .Alerts }}
There are {{ len . }} alert(s)
{{ else }}
There are no alerts
{{ end }}
```

## Variables
<a name="v9-go-variables"></a>

Las variables text/template deben crearse dentro de la plantilla. Por ejemplo, para crear una variable llamada `$variable` con el valor actual de punto, escribiría lo siguiente:

```
{{ $variable := . }}
```

Puede usar `$variable` dentro de un rango o `with` y hará referencia al valor del punto en el momento en que se definió la variable, no al valor actual del punto.

Por ejemplo, no puede escribir una plantilla que use `{{ .Labels }}` en el segundo rango porque aquí el punto hace referencia a la etiqueta actual, no a la alerta actual:

```
{{ range .Alerts }}
{{ range .Labels.SortedPairs }}
{{ .Name }} = {{ .Value }}
{{/* does not work because in the second range . is a label not an alert */}}
There are {{ len .Labels }}
{{ end }}
{{ end }}
```

Para solucionar este problema, defina una variable llamada `$alert` en el primer rango y antes del segundo rango:

```
{{ range .Alerts }}
{{ $alert := . }}
{{ range .Labels.SortedPairs }}
{{ .Name }} = {{ .Value }}
{{/* works because $alert refers to the value of dot inside the first range */}}
There are {{ len $alert.Labels }}
{{ end }}
{{ end }}
```

## Intervalo con índice
<a name="v9-go-rangeindex"></a>

Para poder obtener el índice de cada alerta de un rango, defina las variables de índice y valor al principio del rango:

```
{{ $num_alerts := len .Alerts }}
{{ range $index, $alert := .Alerts }}
This is alert {{ $index }} out of {{ $num_alerts }}
{{ end }}
```

## Definición de plantillas
<a name="v9-go-define"></a>

Puede definir plantillas que se puedan usar en de otras plantillas mediante `define` y el nombre de la plantilla entre comillas dobles. No debe definir plantillas con el mismo nombre que otras plantillas, incluidas las plantillas predeterminadas, como `__subject`, `__text_values_list`, `__text_alert_list`, `default.title` y `default.message`. Si se ha creado una plantilla con el mismo nombre que una plantilla predeterminada, o una plantilla en otra plantilla de notificaciones, Grafana puede utilizar cualquiera de las dos. Grafana no impide ni muestra ningún mensaje de error cuando hay dos o más plantillas con el mismo nombre.

```
{{ define "print_labels" }}
{{ end }}
```

## Integración de plantillas
<a name="v9-go-embed"></a>

Puede integrar una plantilla definida en su plantilla mediante `template`, el nombre de la plantilla entre comillas dobles y el cursor que se debe pasar a la plantilla:

```
{{ template "print_labels" . }}
```

## Paso de datos a las plantillas
<a name="v9-go-passdata"></a>

En una plantilla, un punto hace referencia al valor que se pasa a la plantilla.

Por ejemplo, si a una plantilla se le pasa una lista de alertas de activación, el punto se refiere a esa lista de alertas de activación:

```
{{ template "print_alerts" .Alerts }}
```

Si a la plantilla se le pasan las etiquetas ordenadas de una alerta, el punto hace referencia a la lista de etiquetas ordenadas:

```
{{ template "print_labels" .SortedLabels }}
```

Resulta útil a la hora de escribir plantillas reutilizables. Por ejemplo, para imprimir todas las alertas, puede escribir lo siguiente:

```
{{ template "print_alerts" .Alerts }}
```

Luego, para imprimir solo las alertas de activación, puede escribir lo siguiente:

```
{{ template "print_alerts" .Alerts.Firing }}
```

Esto funciona porque `.Alerts` y `.Alerts.Firing` son listas de alertas.

```
{{ define "print_alerts" }}
{{ range . }}
{{ template "print_labels" .SortedLabels }}
{{ end }}
{{ end }}
```

## Comentarios
<a name="v9-go-comments"></a>

Puede agregar comentarios con `{{/*` y `*/}}`:

```
{{/* This is a comment */}}
```

Para evitar que los comentarios agreguen saltos de línea, utilice:

```
{{- /* This is a comment with no leading or trailing line breaks */ -}}
```

## Sangría
<a name="v9-go-indentation"></a>

Puede usar sangrías, tanto tabulaciones como espacios, y saltos de línea para que las plantillas sean más legibles:

```
{{ range .Alerts }}
  {{ range .Labels.SortedPairs }}
    {{ .Name }} = {{ .Value }}
  {{ end }}
{{ end }}
```

Sin embargo, la sangría de la plantilla también estará presente en el texto. A continuación, veremos cómo eliminarlo.

## Eliminación de espacios y saltos de línea
<a name="v9-go-removespace"></a>

En text/template uso `{{-` y `-}}` para eliminar los espacios iniciales y finales y los saltos de línea.

Por ejemplo, cuando se utilizan sangrías y saltos de línea para hacer que una plantilla sea más legible:

```
{{ range .Alerts }}
  {{ range .Labels.SortedPairs }}
    {{ .Name }} = {{ .Value }}
  {{ end }}
{{ end }}
```

La sangría y los saltos de línea también estarán presentes en el texto:

```
    alertname = "Test"

    grafana_folder = "Test alerts"
```

Para poder eliminar las sangrías y los saltos de línea del texto, cambie `}}` por `-}}` al principio de cada rango:

```
{{ range .Alerts -}}
  {{ range .Labels.SortedPairs -}}
    {{ .Name }} = {{ .Value }}
  {{ end }}
{{ end }}
```

Las sangrías y los saltos de línea de la plantilla ya no aparecen en el texto:

```
alertname = "Test"
grafana_folder = "Test alerts"
```

# Creación de plantillas de notificaciones
<a name="v9-alerting-create-templates"></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 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).

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="v9-alerting-creating-templates"></a>

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

1. Haga clic en **Agregar plantilla**.

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. Haga clic en Guardar.

   `{{ 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. Haga clic en **Agregar plantilla**.

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 siguientes se muestran ejemplos detallados de las plantillas que podría crear.

1. Haga clic en Guardar.

## Creación de una plantilla para el asunto de un correo electrónico
<a name="v9-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="v9-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="v9-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. Para utilizar la plantilla al crear la integración del punto de contacto, colóquela en el campo **Título** con la palabra clave `template`.

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

## Creación de una plantilla para el contenido de un mensaje de Slack
<a name="v9-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:

```
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. 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 "slack.message" . }}
   ```

## Creación de plantillas para correo electrónico y Slack con plantillas compartidas
<a name="v9-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" . }}
   ```

## Uso de plantillas de notificaciones
<a name="v9-alerting-use-notification-templates"></a>

Use las plantillas en los puntos de contacto para personalizar sus notificaciones.

**Uso de una plantilla al crear un punto de contacto**

1. En el menú **Alertas**, seleccione **Puntos de contacto** para ver una lista de los puntos de contacto existentes.

1. Elija **Agregar punto de contacto**. Como alternativa, para editar un punto de contacto existente, puede seleccionar el icono **Editar** (lápiz) situado junto al punto de contacto que desee editar.

1. Ingrese las plantillas que quiera usar en uno o más campos, como **Mensaje** o **Asunto**. Para introducir una plantilla, utilice el formulario y `{{ template "template_name" . }}` *template\$1name* sustitúyalo por el nombre de la plantilla que desee utilizar.

1. Haga clic en **Guardar punto de contacto**.

# 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 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  |  Expresión regular. 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\$1\$1  |  map[string]interface\$1\$1  |  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  |  \$1 humanize \$1value \$1  |  1234567.0  |  1,235 M  | 
|  humanize1024  |  \$1 humanize1024 \$1value \$1  |  1048576.0  |  1 Mi  | 
|  humanizeDuration  |  \$1 humanizeDuration \$1value \$1  |  899,99  |  14 min 59 s  | 
|  humanizePercentage  |  \$1 humanizePercentage \$1value \$1  |  0,134567  |  12,35%  | 
|  humanizeTimestamp  |  \$1 humanizeTimestamp \$1value \$1  |  1435065584,128  |  2015-06-23 13:19:44.128 \$10000 UTC  | 
|  título  |  \$1 \$1value \$1 title \$1  |  aa bB CC  |  Aa Bb Cc  | 
|  toUpper  |  \$1 \$1value \$1 toUpper \$1  |  aa bB CC  |  AA BB CC  | 
|  toLower  |  \$1 \$1value \$1 toLower \$1  |  aa bB CC  |  aa bb cc  | 
|  emparejar  |  \$1 match "a\$1" \$1labels.instance \$1  |  aa  |  true  | 
|  reReplaceAll  |  \$1\$1 reReplaceAll «localhost :( .\$1)» «mi.dominio: \$11» \$1labels.instance\$1\$1  |  localhost:3000  |  my.domain:3000  | 
|  graphLink  |  \$1\$1 graphLink "\$1\$1"expr\$1": \$1"up\$1", \$1"datasource\$1": \$1"gdev-prometheus\$1"\$1" \$1\$1  |    |  /explore?left=["now-1h","now","gdev-prometheus",\$1"datasource":"gdev-prometheus","expr":"up","instant":false,"range":true\$1]  | 
|  tableLink  |  \$1\$1 tableLink "\$1\$1"expr\$1":\$1"up\$1", \$1"datasource\$1":\$1"gdev-prometheus\$1"\$1" \$1\$1  |    |  /explore?left=["now-1h","now","gdev-prometheus",\$1"datasource":"gdev-prometheus","expr":"up","instant":true,"range":false\$1]  | 
|  args  |  \$1\$1define "x"\$1\$1\$1\$1.arg0\$1\$1 \$1\$1.arg1\$1\$1\$1\$1end\$1\$1\$1\$1template "x" (args 1 "2")\$1\$1  |    |  1 2  | 
|  externalURL  |  \$1 externalURL \$1  |    |  http://localhost/path/prefix  | 
|  pathPrefix  |  \$1 pathPrefix \$1  |    |  /path/prefix  | 

# Silenciamiento de las notificaciones de alertas para los orígenes de datos de Prometheus
<a name="v9-alerting-silences"></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 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 el caso de los orígenes de datos del administrador de alertas externo (incluido Amazon Managed Service para Prometheus), puede suprimir las notificaciones de alertas con un *silencio*. Un silencio solo impide que se creen notificaciones; los silencios no impiden que se evalúen las reglas de alerta ni impiden que las instancias de alerta se muestren en la interfaz de usuario. Al silenciar una alerta, se especifica un periodo de tiempo para que se suprima.

Puede configurar los silencios del origen de datos de un Alertmanager externo.

**nota**  
Para suprimir las notificaciones de alertas a intervalos de tiempo regulares o para otros orígenes de datos (por ejemplo, durante los periodos de mantenimiento habituales), utilice [Temporizadores de silencio](v9-alerting-notification-muting.md) en lugar de silencios.

**Adición de un silencio**

1. En la consola de Grafana, en el menú de Grafana, seleccione el icono **Alertas** (campana) para abrir la página **Alertas**.

1. Elija **Silencios** para abrir una página con una lista de los [Uso de puntos de contacto](v9-alerting-contact-points.md) existentes.

1. Elija el Alertmanager externo en el menú desplegable **Alertmanager**.

1. Seleccione **Agregar silencio**.

1. Seleccione la fecha de inicio y finalización en **Inicio y finalización del silencio** para indicar cuándo debe entrar en vigor el silencio y cuándo debe terminar.

   Como alternativa a establecer una hora de finalización, en **Duración**, especifique durante cuánto tiempo se aplicará el silencio. Esto actualiza automáticamente la hora de finalización en el campo **Inicio y finalización del silencio**.

1. En los campos **Nombre** y **Valor**, ingrese una o más *etiquetas coincidentes*. Los comparadores determinan a qué reglas se aplica el silencio. A continuación, se analiza con más detalle la coincidencia de etiquetas siguiendo este procedimiento.

1. Si lo desea, agregue un **comentario** o modifique el **creador** para establecer el propietario del silencio.

1. Elija **Crear** para crear el silencio.

Puede editar un silencio existente si selecciona el icono **Editar** (lápiz).

**Coincidencia de etiquetas para suprimir alertas**

Al crear un silencio, crea un conjunto de *etiquetas coincidentes* como parte del silencio. Se trata de un conjunto de reglas sobre las etiquetas que deben coincidir para que se suprima la alerta. Las etiquetas coincidentes constan de tres partes:
+ **Etiqueta**: nombre de la etiqueta que debe coincidir. Debe coincidir exactamente con el nombre de la etiqueta de la alerta.
+ **Operador**: operador utilizado para comparar el valor de la etiqueta con el valor de la etiqueta coincidente. Los operadores disponibles son:
  + `=` Seleccione etiquetas cuyo valor coincida exactamente con la cadena proporcionada.
  + `!=` Seleccione etiquetas cuyo valor no coincida con la cadena proporcionada.
  + `=~` Seleccione etiquetas cuyo valor coincida con el valor interpretado por expresiones regulares de la cadena proporcionada (la cadena proporcionada se interpreta como una expresión regular).
  + `!=` Seleccione etiquetas que no coincidan con la expresión regular proporcionada.
+ **Valor**: el valor con el que debe coincidir el valor de la etiqueta. Puede coincidir como una cadena o como una expresión regular, según el operador elegido.

Un silencio finaliza en la fecha de finalización indicada, pero puede finalizar la supresión manualmente en cualquier momento.

**Finalización manual de un silencio**

1. En la página **Alertas**, seleccione **Silencios** para ver la lista de los silencios existentes.

1. Seleccione el silencio que quiere finalizar y elija **Desactivar silencio**. Esto pone fin a la supresión de alertas.
**nota**  
La desactivación del silencio finaliza la supresión de alertas, como si la hora de finalización estuviera configurada para la hora actual. Los silencios que han finalizado (automática o manualmente) se conservan y se enumeran durante cinco días. No puede eliminar un silencio de la lista manualmente.

**Creación de un enlace al formulario de creación de silencios**

Puede crear una URL para el formulario de creación de silencios con los detalles ya rellenados. Los operadores pueden usarlo para suprimir rápidamente una alarma durante un evento operativo.

Al crear un enlace a un formulario de silencio, utilice un parámetro de consulta `matchers` para especificar las etiquetas coincidentes y un parámetro de consulta `comment` para especificar un comentario. El parámetro `matchers` requiere uno o más valores en formato `[label][operator][value]`, separados por comas.

**URL de ejemplo**

Para enlazar a un formulario de silencios, con etiquetas coincidentes `severity=critical` y `cluster!~europe-.*` con un comentario que ponga `Silencing critical EU alerts`, utilice una URL como la siguiente. *mygrafana*Sustitúyalo por el nombre de host de tu instancia de Grafana.

```
https://mygrafana/alerting/silence/new?matchers=severity%3Dcritical%2Ccluster!~europe-*&comment=Silence%20critical%20EU%20alert
```

Para enlazar a una nueva página de silencios de un Alertmanager externo, agregue un parámetro de consulta `alertmanager` con el nombre del origen de datos del Alertmanager, como `alertmanager=myAlertmanagerdatasource`.

# Temporizadores de silencio
<a name="v9-alerting-notification-muting"></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 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).

Un temporizador de silencio es un intervalo de tiempo recurrente en el que no se generan ni envían nuevas notificaciones para una política. Úselos para evitar que las alertas se activen durante un periodo específico y recurrente, por ejemplo, un periodo de mantenimiento habitual.

Al igual que los silencios, los temporizadores de silencio no impiden que se evalúen las reglas de alerta ni impiden que las instancias de alerta se muestren en la interfaz de usuario. Solo impiden la creación de notificaciones.

Puede configurar los temporizadores de silencio administrados por Grafana, así como los temporizadores de silencio para un origen de datos de Alertmanager externo.

**Comparación de los temporizadores de silencio y los silencios**

En la siguiente tabla se muestran las diferencias entre los temporizadores de silencio y los silencios.


| Temporizador de silencio | Silencio | 
| --- | --- | 
|  Utiliza definiciones de intervalos de tiempo que pueden repetirse.  |  Tiene unas horas de inicio y finalización fijas.  | 
|  Se crea y luego se agrega a las políticas de notificaciones.  |  Utiliza etiquetas para compararlas con una alerta y determinar si se debe silenciar o no.  | 
|  Funciona con Grafana Alerting y Alertmanagers externos.  |  Funciona solo con Alertmanagers externos.  | 

**Creación de un temporizador de silencio**

1. En la consola de Grafana, en el menú de Grafana, seleccione el icono **Alertas** (campana) para abrir la página **Alertas**.

1. Elija **Políticas de notificación**.

1. En el menú desplegable **Alertmanager**, seleccione el Alertmanager que desea editar.

1. En la sección **Temporizadores de silencio**, seleccione el botón **Agregar temporizador de silencio**.

1. Elija el intervalo de tiempo al que quiere que se aplique el temporizador de silencio.

1. Elija **Enviar** para crear el temporizador de silencio.

**Adición de un temporizador de silencio a una política de notificaciones**

1. Seleccione la política de notificaciones a la que desee agregar el temporizador de silencio y seleccione el botón **Editar**.

1. En el menú desplegable **Temporizadores de silencio**, seleccione los temporizadores de silencio que quiere agregar a la política.

   Elija el botón **Guardar política**.

**Intervalos de tiempo**

Un intervalo de tiempo es una definición de un intervalo de tiempo. Si se inicia una alerta durante este intervalo, se suprime. Se admiten intervalos con `:` (por ejemplo, `monday:thursday`). Un temporizador de silencio puede contener varios intervalos de tiempo. Un intervalo de tiempo consta de varios campos (los detalles se muestran en la siguiente lista) y todos deben coincidir para poder suprimir las alertas. Por ejemplo, si especifica los días de la semana `monday:friday` y el intervalo de tiempo comprendido entre las 8:00 y las 9:00, las alertas se suprimirán de las 8 a las 9, de lunes a viernes, pero no, por ejemplo, de las 8 a las 9 del sábado.
+ **Intervalo de tiempo**: hora del día a la que se suprimen las notificaciones. Consta de dos subcampos: **Hora de inicio** y **Hora de finalización**. Un ejemplo de hora es `14:30`. La hora está en notación de 24 horas, en UTC.
+ **Días de la semana**: días de la semana. Puede ser un solo día (por ejemplo, `monday`), un intervalo (como `monday:friday`) o una lista de días separados por comas (por ejemplo, `monday, tuesday, wednesday`).
+ **Meses**: meses que se deben seleccionar. Puede especificar los meses con designaciones numéricas o con el nombre completo del mes, por ejemplo, `1` o `january` (ambos especifican enero). Puede especificar un solo mes, un intervalo de meses o una lista de meses separados por comas.
+ **Días del mes**: fechas de un mes. Los valores pueden oscilar entre `1` y `31`. Los valores negativos especifican los días del mes en orden inverso, por lo que `-1` representa el último día del mes. Los días del mes se pueden especificar como un solo día, un intervalo de días o una lista de días separados por comas.
+ **Años**: el año o los años del intervalo. Por ejemplo, `2023:2025`.

Cada uno de estos elementos puede ser una lista, y al menos uno de los elementos del elemento debe estar satisfecho para que coincida. Por lo tanto, si establece los años en `2023:2025, 2027`, entonces, sería verdadero durante 2023, 2024, 2025 y 2027 (pero no en 2026).

Si un campo se deja en blanco, cualquier momento coincidirá con el campo. Un momento de tiempo debe coincidir con todos los campos para que coincida con un intervalo de tiempo completo.

Si desea especificar una duración exacta, especifique todas las opciones necesarias para esa duración. Por ejemplo, si desea crear un intervalo de tiempo para el primer lunes del mes (marzo, junio, septiembre y diciembre) entre las 12:00 y las 24:00 UTC, la especificación del intervalo de tiempo podría ser:
+ Intervalo de tiempo:
  + Hora de inicio: `12:00`
  + Hora de finalización: `24:00`
+ Días de la semana: `monday`
+ Meses: `3, 6, 9, 12`
+ Días del mes: `1:7`

# Visualización y filtrado por grupos de alertas
<a name="v9-alerting-viewfiltergroups"></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 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).

Los grupos de alertas muestran alertas agrupadas de una instancia de Alertmanager. De forma predeterminada, las alertas de alerta se agrupan según las claves de etiqueta de la política raíz en las políticas de notificaciones. Al agrupar las reglas de alerta comunes en un solo grupo de alertas, se evita que se activen reglas de alerta duplicadas.

Puede ver los grupos de alertas y también filtrar las reglas de alerta que coincidan con criterios específicos.

**Visualización de grupos de alertas**

1. En el menú de Grafana, seleccione el icono **Alertas** (campana) para abrir la página Alertas, en la que se muestran las alertas existentes.

1. Haga clic en **Grupos de alertas** para abrir la página con la lista de los grupos existentes.

1. En el menú desplegable **Alertmanager**, seleccione un Alertmanager externo como origen de datos.

1. En el menú desplegable **Personalizar grupo por**, seleccione una combinación de etiquetas para ver una agrupación distinta de la predeterminada. Resulta útil para depurar o verificar la agrupación de políticas de notificaciones.

Si una alerta no contiene etiquetas especificadas en la agrupación de la política raíz o en la agrupación personalizada, se agrega a un grupo comodín con un encabezado de `No grouping`.

**Filtrado por etiqueta**
+ En **Buscar**, ingrese una etiqueta existente para ver las alertas que coincidan con la etiqueta.

  Por ejemplo, `environment=production,region=~US|EU,severity!=warning`.

**Filtrado por estado**
+ En **Estados**, seleccione los estados Activo, Suprimido o Sin procesar para ver las alertas que coincidan con el estado seleccionado. El resto de alertas se ocultan.

# Visualización de los errores de notificación
<a name="v9-alerting-viewnotificationerrors"></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 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).

Vea los errores de notificación y comprenda por qué no se enviaron o no se recibieron.

**nota**  
Esta característica solo se admite para Grafana Alertmanager.

**Visualización de los errores de notificación**

1. En el menú de Grafana, seleccione el icono **Alertas** (campana) para abrir la página Alertas, en la que se muestran las alertas existentes.

1. Seleccione **Puntos de contacto** para ver una lista de los puntos de contacto existentes.

   Si algún punto de contacto no funciona, un mensaje en la esquina derecha de la pantalla avisa al usuario del que hay errores y de cuántos son.

1. Haga clic en un punto de contacto para ver los detalles de los errores.

   Los detalles de los errores se muestran si pasa el ratón por encima del icono de error.

   Si un punto de contacto tiene más de una integración, verá todos los errores de cada una de las integraciones de la lista.

1. En la columna Estado, consulte el estado de la notificación.

   Puede ser Correcto, Sin intentos o Error.