

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.

# Exploración de alertas
<a name="v9-alerting-explore"></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).

Tanto si pretende iniciar o ampliar la implementación de Grafana Alerting, puede obtener más información sobre los conceptos clave y las características disponibles para crear, administrar y tomar medidas en relación con sus alertas y así mejorar la capacidad de su equipo para resolver problemas rápidamente.

En primer lugar, veamos los diferentes tipos de reglas de alertas que ofrece Grafana Alerting.

## Tipos de reglas de alertas
<a name="v9-alerting-explore-rule-types"></a>

**Reglas administradas por Grafana**

Las reglas administradas por Grafana son el tipo de regla de alertas más flexible. Le permiten crear alertas que pueden actuar sobre los datos de cualquiera de nuestros orígenes de datos admitidos. Además de admitir varios orígenes de datos, también puede agregar expresiones para transformar los datos y establecer condiciones de alertas. Este es el único tipo de regla que permite enviar alertas desde varios orígenes de datos en una sola definición de regla.

**Reglas de Mimir y Loki**

Para crear alertas de Mimir o Loki, debe tener un origen de datos de Prometheus o Loki compatible. Para poder comprobar si el origen de datos admite la creación de reglas a través de Grafana, pruebe el origen de datos y observe si la API de reglas es compatible.

**Reglas de registros**

Las reglas de registros solo están disponibles para los orígenes de datos de Prometheus o Loki compatibles. Una regla de registros permite precalcular expresiones que se necesitan con frecuencia o que son costosas desde el punto de vista computacional y guardar su resultado como un nuevo conjunto de series temporales. Resulta útil si quiere ejecutar alertas sobre datos agregados o si tiene paneles que consultan de manera repetitiva expresiones costosas desde el punto de vista computacional.

## Características y conceptos clave
<a name="v9-alerting-explore-features"></a>

La siguiente tabla incluye una lista de conceptos clave, características y sus definiciones, y está diseñada para ayudarlo a aprovechar al máximo Grafana Alerting.


| Característica o concepto clave | Definición | 
| --- | --- | 
|  Orígenes de datos de alertas  |  Seleccione los orígenes de datos que desee consultar y desde los que visualizar métricas, registros y rastros.  | 
|  Aprovisionamiento de alertas  |  Administre sus recursos de alertas y aprovisiónelos en su sistema Grafana mediante el aprovisionamiento de archivos o Terraform.  | 
|  Alertmanager  |  Administra el enrutamiento y la agrupación de las instancias de alerta.  | 
|  Regla de alerta  |  Un conjunto de criterios de evaluación para determinar cuándo debe activarse una regla de alerta. Una regla de alerta consta de una o más consultas y expresiones, una condición, la frecuencia de la evaluación y el tiempo durante el cual se cumple la condición. Una regla de alerta puede generar varias instancias de alerta.  | 
|  Instancia de alerta  |  Una instancia de alerta es una instancia de una regla de alerta. Una regla de alerta unidimensional tiene una instancia de alerta. Una regla de alerta multidimensional tiene una o más instancias de alerta. Una sola regla de alerta que coincide con varios resultados, como CPU frente a 10 VMs, se cuenta como varias instancias de alerta (en este caso 10). Este número puede variar con el tiempo. Por ejemplo, una regla de alerta que monitorea el uso de la CPU para todos los VMs componentes de un sistema tiene más instancias de alerta a medida que VMs se van añadiendo. Para obtener más información acerca de las cuotas de las instancias de alerta, consulte [Errores de cuota alcanzada](v9-alerting-managerules-grafana.md#v9-alerting-rule-quota-reached).  | 
|  Grupo de alertas  |  Alertmanager agrupa las instancias de alerta de forma predeterminada mediante las etiquetas de la política de notificaciones raíz. Esto controla la eliminación de duplicados y los grupos de instancias de alerta que se envían a los puntos de contacto.  | 
|  Punto de contacto  |  Defina cómo se notifica a sus contactos cuando se activa una regla de alerta.  | 
|  Plantillas de mensajes  |  Cree plantillas personalizadas reutilizables y utilícelas en los puntos de contacto.  | 
|  Política de notificaciones  |  Conjunto de reglas sobre dónde, cuándo y cómo se agrupan las alertas y se dirigen a los puntos de contacto.  | 
|  Etiquetas y comparadores de etiquetas  |  Las etiquetas identifican de forma unívoca a reglas de alerta. Vinculan las reglas de alerta con las políticas de notificaciones y los silencios, determinando qué política debe gestionarlos y qué reglas de alerta deben silenciarse.  | 
|  Silencios  |  Detienen las notificaciones de una o más instancias de alerta. La diferencia entre un silencio y un temporizador de silencio es que el silencio solo dura un periodo de tiempo especificado, mientras que un temporizador de silencio está pensado para producirse de forma periódica. Utiliza comparadores de etiquetas para silenciar las instancias de alerta.  | 
|  Temporizadores de silencio  |  Especifique un intervalo de tiempo en el que no quiere que se generen o envíen nuevas notificaciones. También puede congelar las notificaciones de alerta durante periodos de tiempo recurrentes, por ejemplo, durante un periodo de mantenimiento. Deben estar vinculados a una política de notificaciones existente.  | 

# Orígenes de datos
<a name="v9-alerting-explore-datasources"></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).

Hay varios [orígenes de datos](AMG-data-sources-builtin.md) que son compatibles con Grafana Alerting. Cada origen de datos es compatible con un complemento. Puede utilizar uno de los orígenes de datos integrados que se indican a continuación.

Estos son los orígenes de datos compatibles con Amazon Managed Grafana.
+ [Conexión a un origen de datos de Alertmanager](data-source-alertmanager.md)
+ [Conectarse a una fuente de CloudWatch datos de Amazon](using-amazon-cloudwatch-in-AMG.md)
+ [Conectarse a una fuente OpenSearch de datos de Amazon Service](using-Amazon-OpenSearch-in-AMG.md)
+ [Conectarse a una fuente AWS IoT SiteWise de datos](using-iotsitewise-in-AMG.md)
+ [Conectarse a una fuente AWS IoT TwinMaker de datos](AMG-iot-twinmaker.md)
+ [Conexión a Amazon Managed Service para Prometheus y a los orígenes de datos de Prometheus de código abierto](prometheus-data-source.md)
+ [Conexión a un origen de datos de Amazon Timestream](timestream-datasource.md)
+ [Conexión a un origen de datos de Amazon Athena](AWS-Athena.md)
+ [Conexión a un origen de datos de Amazon Redshift](AWS-Redshift.md)
+ [Conectarse a una fuente AWS X-Ray de datos](x-ray-data-source.md)
+ [Conexión a un origen de datos de Azure Monitor](using-azure-monitor-in-AMG.md)
+ [Conexión a un origen de datos de Google Cloud Monitoring](using-google-cloud-monitoring-in-grafana.md)
+ [Conexión a un origen de datos de Graphite](using-graphite-in-AMG.md)
+ [Conexión a un origen de datos de InfluxDB](using-influxdb-in-AMG.md)
+ [Conexión a un origen de datos de Loki](using-loki-in-AMG.md)
+ [Conexión a un origen de datos de Microsoft SQL Server](using-microsoft-sql-server-in-AMG.md)
+ [Conexión a un origen de datos de MySQL](using-mysql-in-AMG.md)
+ [Conexión a un origen de datos de OpenTSDB](using-opentsdb-in-AMG.md)
+ [Conexión a un origen de datos de PostgreSQL](using-postgresql-in-AMG.md)
+ [Conexión a un origen de datos de Jaeger](jaeger-data-source.md)
+ [Conexión a un origen de datos de Zipkin](zipkin-data-source.md)
+ [Conexión a un origen de datos de Tempo](tempo-data-source.md)
+ [Configurar una fuente TestData de datos para realizar pruebas](testdata-data-source.md)

# Acerca de las reglas de alertas
<a name="v9-alerting-explore-rules"></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).

Una regla de alertas es un conjunto de criterios de evaluación que determina si se iniciará una instancia de alertas. La regla consta de una o más consultas y expresiones, una condición, la frecuencia de la evaluación y, opcionalmente, el tiempo durante el cual se cumple la condición.

Si bien las consultas y las expresiones seleccionan el conjunto de datos que se va a evaluar, una condición establece el umbral que una alerta debe alcanzar o superar para crear dicha alerta.

Un intervalo especifica la frecuencia con la que se evalúa una regla de alertas. La duración, cuando se configura, indica durante cuánto tiempo debe cumplirse una condición. Las reglas de alertas también pueden definir el comportamiento de las alertas en ausencia de datos.

**Topics**
+ [Tipos de reglas de alertas](v9-alerting-explore-rules-types.md)
+ [Instancias de alerta](v9-alerting-rules-instances.md)
+ [Espacios de nombres y grupos](v9-alerting-rules-grouping.md)
+ [Plantillas de notificaciones](v9-alerting-rules-notification-templates.md)

# Tipos de reglas de alertas
<a name="v9-alerting-explore-rules-types"></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).

Grafana admite varios tipos de reglas de alerta. Las siguientes secciones explicarán sus ventajas y desventajas y le ayudarán a elegir el tipo de alerta adecuado para su caso de uso.

Reglas administradas por Grafana

Las reglas administradas por Grafana son el tipo de regla de alertas más flexible. Le permiten crear alertas que pueden actuar sobre los datos de los orígenes de datos existentes.

Además de admitir cualquier origen de datos, puede agregar [expresiones](v9-panels-query-xform-expressions.md) para transformar los datos y establecer condiciones de alerta.

Reglas de Mimir, Loki y Cortex

Para crear alertas de Mimir, Loki o Cortex, debe tener un origen de datos de Prometheus compatible. Para comprobar si su origen de datos es compatible, puede probarlo y comprobarlo en los detalles si la API de regla es compatible.

Reglas de registros

Las reglas de registros solo están disponibles para los orígenes de datos de Prometheus compatibles, como Mimir, Loki y Cortex.

La regla de registros permite guardar el resultado de una expresión en un nuevo conjunto de series temporales. Resulta útil si quiere ejecutar alertas sobre datos agregados o si tiene paneles de control que consultan de manera repetitiva la misma expresión.

Consulte más información sobre las [reglas de registros](https://prometheus.io/docs/prometheus/latest/configuration/recording_rules/) en Prometheus.

# Instancias de alerta
<a name="v9-alerting-rules-instances"></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 alertas administradas por Grafana admiten alertas multidimensionales. Cada regla de alerta puede crear varias instancias de alerta. Esto resulta eficaz si se observan varias series en una sola expresión.

Considere la siguiente expresión de PromQL:

```
sum by(cpu) (
  rate(node_cpu_seconds_total{mode!="idle"}[1m])
)
```

Una regla que utilice esta expresión creará tantas instancias de alerta como la cantidad CPUs observada durante la evaluación, lo que permitirá que una sola regla informe del estado de cada CPU.

# Espacios de nombres y grupos
<a name="v9-alerting-rules-grouping"></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 alertas se pueden organizar mediante carpetas para reglas administradas por Grafana y espacios de nombres para reglas y nombres de grupos de Mimir, Loki o Prometheus.

**Espacios de nombres**

Al crear reglas administradas por Grafana, la carpeta se puede usar para llevar a cabo el control de acceso y concederlo o denegarlo a todas las reglas de una carpeta específica.

**Grupos**

Todas las reglas de un grupo se evalúan en el mismo **intervalo**.

Las reglas de alerta y las reglas de registro de un grupo siempre se evaluarán **de forma secuencial**, lo que significa que ninguna regla se evaluará al mismo tiempo y en orden de aparición.

**sugerencia**  
Si desea que las reglas se evalúen de forma simultánea y con intervalos diferentes, considere de guardarlas en grupos diferentes.

# Plantillas de notificaciones
<a name="v9-alerting-rules-notification-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).

Las notificaciones enviadas a través de los puntos de contacto se crean mediante plantillas de notificaciones. Las plantillas predeterminadas de Grafana se basan en el [sistema de plantillas de Go](https://golang.org/pkg/text/template), en el que algunos campos se evalúan como texto, mientras que otros se evalúan como HTML (lo que puede afectar al escape).

La plantilla predeterminada [default\$1template.go](https://github.com/grafana/alerting/blob/main/templates/default_template.go) es una referencia útil para las plantillas personalizadas.

Como la mayoría de los campos de puntos de contacto pueden tener plantillas, puede crear plantillas personalizadas reutilizables y utilizarlas en varios puntos de contacto. Para obtener más información sobre las notificaciones personalizadas mediante plantillas, consulte [Personalización de las notificaciones](v9-alerting-notifications.md).

**Plantillas anidadas**

Puede incrustar plantillas dentro de otras plantillas.

Por ejemplo, puede definir un fragmento de plantilla mediante la palabra clave `define`.

```
{{ define "mytemplate" }}
  {{ len .Alerts.Firing }} firing. {{ len .Alerts.Resolved }} resolved.
{{ end }}
```

A continuación, puede incrustar plantillas personalizadas en este fragmento mediante la palabra clave `template`. Por ejemplo:

```
Alert summary:
{{ template "mytemplate" . }}
```

Puede utilizar cualquiera de las siguientes opciones de plantilla integradas para incrustar plantillas personalizadas.


| Name | Notas | 
| --- | --- | 
|  `default.title`  |  Muestra información general de estado.  | 
|  `default.message`  |  Proporciona un resumen con formato de las alertas que se están activando y que están resueltas.  | 
|  `teams.default.message`  |  Similar a `default.messsage`, formateado para Microsoft Teams.  | 

**HTML en plantillas de notificaciones**

Se escapa el HTML de las plantillas de notificaciones de alertas. No se admite la representación de HTML en la notificación resultante.

Algunos notificadores admiten métodos alternativos para cambiar el aspecto de la notificación resultante. Por ejemplo, Grafana instala la plantilla base para enviar alertas de correo electrónico a `<grafana-install-dir>/public/emails/ng_alert_notification.html`. Puede editar este archivo para cambiar la apariencia de todos los correos electrónicos de alerta.

# Alertas sobre datos numéricos
<a name="v9-alerting-explore-numeric"></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 este tema se describe cómo gestiona Grafana las alertas sobre datos numéricos en lugar de datos de serie temporal.

Entre determinados orígenes de datos, los datos numéricos que no son series temporales pueden generar una alerta directamente o convertirse en expresiones del servidor (SSE). Esto permite un mayor procesamiento y, por lo tanto, una mayor eficiencia en el origen de datos, y también puede simplificar las reglas de alerta. Al alertar sobre datos numéricos en lugar de datos de serie temporal, no es necesario reducir cada serie temporal etiquetada a un solo número. En su lugar, los números etiquetados se devuelven a Grafana.

**Datos tabulares**

Esta característica es compatible con los orígenes de datos de backend que consultan datos tabulares:
+ Orígenes de datos SQL como MySQL, Postgres, MSSQL y Oracle.
+ Los servicios basados en Azure Kusto: Azure Monitor (Logs), Azure Monitor (Azure Resource Graph) y Azure Data Explorer.

Una consulta con alertas administradas por Grafana o expresiones del servidor se considera numérica con estos orígenes de datos si:
+ La opción “Formatear como” está configurada como “Tabla” en la consulta del origen de datos.
+ La respuesta de la tabla devuelta a Grafana desde la consulta incluye solo una columna numérica (por ejemplo, int, double o float) y, opcionalmente, columnas de cadenas adicionales.

Si hay columnas de cadenas, esas columnas se convierten en etiquetas. El nombre de la columna pasa a ser el nombre de la etiqueta y el valor de cada fila pasa a ser el valor de la etiqueta correspondiente. Si se devuelven varias filas, cada fila debe identificarse de forma única por sus etiquetas.

**Ejemplo**

Para una tabla MySQL llamada «DiskSpace»:


| Time | Host | Disk | PercentFree | 
| --- | --- | --- | --- | 
|  2021-June-7  |  web1  |  /etc  |  3  | 
|  2021-June-7  |  web2  |  /var  |  4  | 
|  2021-June-7  |  web3  |  /var  |  8  | 
|  ...  |  ...  |  ...  |  ...  | 

Para poder consultar los datos, filtre por tiempo, pero sin devolver la serie temporal a Grafana. Por ejemplo, una alerta que se activaría por host, disco cuando haya menos del 5 % de espacio libre:

```
SELECT Host , Disk , CASE WHEN PercentFree  < 5.0 THEN PercentFree  ELSE 0 END FROM ( 
   SELECT
      Host, 
      Disk, 
      Avg(PercentFree) 
   FROM DiskSpace
   Group By
      Host, 
      Disk 
   Where __timeFilter(Time)
```

Esta consulta devuelve la siguiente respuesta de tabla a Grafana:


| Host | Disk | PercentFree | 
| --- | --- | --- | 
|  web1  |  /etc  |  3  | 
|  web2  |  /var  |  4  | 
|  web3  |  /var  |  0  | 

Cuando esta consulta se utiliza como **condición** en una regla de alerta, se genera una alerta cuando el valor es distinto de cero. Como resultado, se producen tres instancias de alerta:


| Etiquetas | Status | 
| --- | --- | 
|  \$1Host=web1,disk=/etc\$1  |  Alertas  | 
|  \$1Host=web2,disk=/var\$1  |  Alertas  | 
|  \$1Host=web3,disk=/var\$1  |  Normal  | 

# Etiquetas y anotaciones
<a name="v9-alerting-explore-labels"></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 etiquetas y anotaciones contienen información sobre una alerta. Tanto las etiquetas como las anotaciones tienen la misma estructura: un conjunto de valores con nombre; sin embargo, sus usos previstos son diferentes. Un ejemplo de etiqueta, o de anotación equivalente, podría ser `alertname="test"`.

La principal diferencia entre una etiqueta y una anotación es que las etiquetas se utilizan para diferenciar una alerta de todas las demás alertas, mientras que las anotaciones se utilizan para agregar información adicional a una alerta existente.

Por ejemplo, pensemos en dos alertas de uso elevado de la CPU: una para `server1` y otra para `server2`. En este ejemplo, podríamos tener una etiqueta denominada `server` en la que la primera alerta tenga la etiqueta `server="server1"` y la segunda alerta tenga la etiqueta `server="server2"`. Sin embargo, es posible que también queramos agregar una descripción a cada alerta, como `"The CPU usage for server1 is above 75%."`, dónde `server1` y `75%` se sustituyen por el nombre y el uso de la CPU del servidor (consulte la documentación sobre [Plantillas de etiquetas y anotaciones](v9-alerting-explore-labels-templating.md) para ver cómo hacerlo). Este tipo de descripción sería más adecuada como anotación.

## Etiquetas
<a name="v9-alerting-explore-labels-labels"></a>

Las etiquetas contienen información que identifica una alerta. Un ejemplo de etiqueta podría ser `server=server1`. Cada alerta puede tener más de una etiqueta y el conjunto completo de etiquetas de una alerta se denomina conjunto de etiquetas. Es este conjunto de etiquetas el que identifica la alerta.

Por ejemplo, una alerta puede tener el conjunto de etiquetas `{alertname="High CPU usage",server="server1"}`, mientras que otra alerta puede tener el conjunto de etiquetas `{alertname="High CPU usage",server="server2"}`. Son dos alertas independientes porque, aunque sus etiquetas `alertname` son las mismas, las etiquetas `server` son diferentes.

El conjunto de etiquetas de una alerta es una combinación de las etiquetas del origen de datos, las etiquetas personalizadas de la regla de alerta y una serie de etiquetas reservadas, como `alertname`.

**Etiquetas personalizadas**

Las etiquetas personalizadas son etiquetas adicionales de la regla de alerta. Al igual que las anotaciones, las etiquetas personalizadas deben tener un nombre y su valor puede contener una combinación de texto y código de plantilla que se evalúa cuando se activa una alerta. La documentación sobre cómo crear etiquetas personalizadas de plantillas se encuentra [aquí](v9-alerting-explore-labels-templating.md).

Al utilizar etiquetas personalizadas con las plantillas, es importante asegurarse de que el valor de la etiqueta no cambie entre evaluaciones consecutivas de la regla de alerta, ya que esto acabará creando un gran número de alertas distintas. Sin embargo, no importa que la plantilla produzca valores de etiqueta diferentes para alertas diferentes. Por ejemplo, no coloque el valor de la consulta en una etiqueta personalizada, ya que esto acabará creando un nuevo conjunto de alertas cada vez que cambie el valor. En su lugar, utilice anotaciones.

También es importante asegurarse de que la etiqueta configurada para una alerta no tenga dos o más etiquetas con el mismo nombre. Si una etiqueta personalizada tiene el mismo nombre que una etiqueta del origen de datos, la sustituirá. Sin embargo, si una etiqueta personalizada tiene el mismo nombre que una etiqueta reservada, la etiqueta personalizada se omitirá en la alerta.

## Anotaciones
<a name="v9-alerting-explore-labels-annotations"></a>

Las anotaciones son pares con nombres que agregan información adicional a las alertas existentes. Hay una serie de anotaciones sugeridas en Grafana, como `description`, `summary`, `runbook_url`, `dashboardUId` y `panelId`. Al igual que las etiquetas personalizadas, las anotaciones deben tener un nombre y su valor puede contener una combinación de texto y código de plantilla que se evalúa cuando se activa una alerta. Si una anotación contiene código de plantilla, la plantilla se evalúa una vez cuando se activa la alerta. No se vuelve a evaluar, aunque se resuelva la alerta. La documentación sobre cómo crear anotaciones de plantillas se encuentra [aquí](v9-alerting-explore-labels-templating.md).

# Cómo funciona la búsqueda de coincidencias de etiquetas
<a name="v9-alerting-explore-labels-matching"></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).

Use etiquetas y comparadores de etiquetas para vincular las reglas de alerta con las políticas de notificaciones y los silencios. Esto ofrece una forma muy flexible de administrar las instancias de alerta, especificar qué política debe gestionarlas y qué alertas silenciar.

Un comparador de etiquetas consta de 3 partes distintas: la **etiqueta**, el **valor** y el **operador**.
+ El campo **Etiqueta** es el nombre de la etiqueta que debe coincidir. Debe coincidir exactamente con el nombre de la etiqueta.
+ El campo **Valor** coincide con el valor correspondiente al nombre de **Etiqueta** especificado. La forma en que coincide depende del valor de **Operador**.
+ El campo **Operador** es el operador que debe coincidir con el valor de la etiqueta. Los operadores disponibles son:


| Operador | Description (Descripción) | 
| --- | --- | 
|  `=`  |  Selecciona etiquetas que son exactamente iguales al valor.  | 
|  `!=`  |  Selecciona etiquetas que no son iguales al valor.  | 
|  `=~`  |  Selecciona etiquetas que buscan expresiones regulares que coincidan con el valor.  | 
|  `!~`  |  Selecciona etiquetas que buscan expresiones regulares que no coincidan con el valor.  | 

Si utiliza varios criterios de comparación de etiquetas, se combinan mediante el operador lógico AND. Esto significa que todos los criterios de comparación deben coincidir para poder vincular una regla a una política.

**Escenario de ejemplo**

Si define el siguiente conjunto de etiquetas para su alerta:

```
{ foo=bar, baz=qux, id=12 }
```

entonces:
+ Un comparador de etiquetas definido como `foo=bar` busca coincidencias con esta regla de alerta.
+ Un comparador de etiquetas definido como `foo!=bar` *no* busca coincidencias con esta regla de alerta.
+ Un comparador de etiquetas definido como `id=~[0-9]+` busca coincidencias con esta regla de alerta.
+ Un comparador de etiquetas definido como `baz!~[0-9]+` busca coincidencias con esta regla de alerta.
+ Dos comparadores de etiquetas definidos como `foo=bar` y `id=~[0-9]+` buscan coincidencias con esta regla de alerta.

# Etiquetas en Grafana Alerting
<a name="v9-alerting-explore-labels-alerting"></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 este tema se explica por qué las etiquetas son un componente fundamental de las alertas.
+ El conjunto completo de etiquetas de una alerta lo que la identifica de forma única entre las alertas de Grafana.
+ El Alertmanager utiliza etiquetas para hacer coincidir las alertas con los silencios y los grupos de alertas en las políticas de notificaciones.
+ En la interfaz de usuario de alertas se muestran etiquetas para cada instancia de alerta generada durante la evaluación de esa regla.
+ Los puntos de contacto pueden acceder a las etiquetas para generar dinámicamente notificaciones que contienen información específica de la alerta que está dando lugar a una notificación.
+ Puede agregar etiquetas a una [regla de alerta](v9-alerting-managerules.md). Las etiquetas se configuran manualmente, usan funciones de plantilla y pueden hacer referencia a otras etiquetas. Las etiquetas agregadas a una regla de alerta tienen prioridad en caso de colisión entre etiquetas (excepto en el caso de las etiquetas reservadas de Grafana, a continuación puede obtener más información).

**Compatibilidad con un Alertmanager externo**

El Alertmanager integrado de Grafana admite claves y valores de etiquetas Unicode. Si usa un Prometheus Alertmanager externo, las claves de etiqueta deben ser compatibles con su [modelo de datos](https://prometheus.io/docs/concepts/data_model/#metric-names-and-labels). Esto significa que las claves de etiqueta solo deben contener **letras ASCII**, **números** y **guiones bajos** y coincidir con la expresión regular `[a-zA-Z_][a-zA-Z0-9_]*`. El motor de Grafana Alerting eliminará o sustituirá todos los caracteres no válidos antes de enviarlos al administrador de alertas externo de acuerdo con las siguientes reglas:
+ `Whitespace` se eliminará.
+ `ASCII characters` se reemplazará por `_`.
+ `All other characters` se reemplazará por su representación hexadecimal en minúsculas. Si este es el primer carácter, tendrá el prefijo `_`.

**nota**  
Si se sanean varias claves de etiqueta con el mismo valor, a los duplicados se les agregará un hash corto de la etiqueta original como sufijo.

**Etiquetas reservadas de Grafana**

**nota**  
Grafana reserva las etiquetas con el prefijo `grafana_` para un uso especial. Si se agrega una etiqueta configurada manualmente que empiece por `grafana_`, se puede sobrescribir en caso de colisión.

Las etiquetas reservadas de Grafana se pueden utilizar de la misma forma que las etiquetas configuradas manualmente. La lista actual de etiquetas reservadas disponibles es:


| Etiqueta | Description (Descripción) | 
| --- | --- | 
|  grafana\$1folder  |  Título de la carpeta que contiene la alerta.  | 

# Plantillas de etiquetas y anotaciones
<a name="v9-alerting-explore-labels-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).

En Grafana, puede crear plantillas de etiquetas y anotaciones igual que lo haría en Prometheus. Si ha utilizado Prometheus con anterioridad, seguramente conocerá las variables `$labels` y `$value`, que contienen las etiquetas y el valor de la alerta. Puede usar las mismas variables en Grafana, aunque la alerta no use un origen de datos de Prometheus. Si no ha utilizado Prometheus antes, no se preocupe, ya que a lo largo de esta página se explican cada una de estas variables y cómo crear las plantillas.

## Lenguaje de creación de plantillas de Go
<a name="v9-alerting-explore-labels-templating-go"></a>

Las plantillas de etiquetas y anotaciones se escriben en el lenguaje de creación de plantillas de Go: [texto/plantilla](https://pkg.go.dev/text/template).

**Etiquetas de apertura y cierre**

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)**

Para imprimir el valor de algo, use `{{` y `}}`. Puede imprimir el resultado de una función o el valor de una variable. Por ejemplo, para imprimir la variable `$labels`, tendría que escribir:

```
{{ $labels }}
```

**Iteración en etiquetas**

Para iterar cada etiqueta en iteración en `$labels`, puede usar un `range`. Aquí, `$k` hace referencia al nombre y `$v`, al valor de la etiqueta actual. Por ejemplo, si su consulta devolviera una etiqueta `instance=test`, `$k` sería `instance` y `$v` sería `test`.

```
{{ range $k, $v := $labels }}
{{ $k }}={{ $v }}
{{ end }}
```

## Etiquetas, valor y variables de valores
<a name="v9-alerting-explore-labels-templating-variables"></a>

**Variable de etiquetas**

La variable `$labels` contiene las etiquetas de la consulta. Por ejemplo, una consulta que compruebe si una instancia está inactiva podría devolver una etiqueta de instancia con el nombre de la instancia inactiva. Supongamos, por ejemplo, que tiene una regla de alerta que se activa cuando una de sus instancias ha estado inactiva durante más de 5 minutos. Quiere agregar un resumen a la alerta que le indique qué instancia está inactiva. Con la variable `$labels`, puede crear un resumen que imprima la etiqueta de la instancia en el resumen:

```
Instance {{ $labels.instance }} has been down for more than 5 minutes
```

**Etiquetas con puntos**

Si la etiqueta que quiere imprimir contiene un punto en el nombre, usar el mismo punto en la plantilla no funcionará:

```
Instance {{ $labels.instance.name }} has been down for more than 5 minutes
```

Esto se debe a que la plantilla intenta utilizar un campo inexistente llamado `name` en `$labels.instance`. En su lugar, debe usar la función `index`, que imprime la etiqueta `instance.name` en la variable `$labels`:

```
Instance {{ index $labels "instance.name" }} has been down for more than 5 minutes
```

**Valor de la variable**

La variable `$value` funciona de forma diferente a Prometheus. En Prometheus, `$value` es un número de punto flotante que contiene el valor de la expresión, pero en Grafana es una cadena que contiene las etiquetas y los valores de todas las expresiones Threshold, Reduce y Math, y las condiciones clásicas para esta regla de alerta. No contiene los resultados de las consultas, ya que pueden devolver entre 10 y 10 000 filas o métricas.

Si quisiera usar la variable `$value` en el resumen de una alerta:

```
{{ $labels.service }} has over 5% of responses with 5xx errors: {{ $value }})
```

El resumen podría tener un aspecto similar a:

```
api has an over 5% of responses with 5xx errors: [ var='B' labels={service=api} value=6.789 ]
```

Aquí, `var='B'` hace referencia a la expresión con el RefID B. En Grafana, todas las consultas y expresiones se identifican mediante un RefID que identifica cada consulta y expresión en una regla de alerta. Del mismo modo, `labels={service=api}` hace referencia a las etiquetas y `value=6.789` hace referencia al valor.

Puede que haya observado que no hay ningún RefID A. Esto se debe a que, en la mayoría de las reglas de alerta, el RefID A hace referencia a una consulta y, dado que las consultas pueden devolver muchas filas o series temporales, no se incluyen en `$value`.

**Variable de valores**

Si la variable `$value` contiene más información de la que necesita, puede imprimir las etiquetas y el valor de las expresiones individuales con `$values`. A diferencia de `$value`, la variable `$values` es una tabla de objetos que contiene las etiquetas y los valores de punto flotante de cada expresión, indexados por su RefID.

Si quisiera imprimir el valor de la expresión con RefID `B` en el resumen de la alerta:

```
{{ $labels.service }} has over 5% of responses with 5xx errors: {{ $values.B }}%
```

El resumen solo contendrá el valor:

```
api has an over 5% of responses with 5xx errors: 6.789%
```

Sin embargo, si bien `{{ $values.B }}` imprime el número 6,789, en realidad se trata de una cadena, ya que se imprime el objeto que contiene las etiquetas y el valor de RefID B, no el valor de punto flotante de B. Para utilizar el valor de punto flotante de RefID B, debe utilizar el campo `Value` de `$values.B`. Si tuviera que humanizar el valor de punto flotante en el resumen de una alerta:

```
{{ $labels.service }} has over 5% of responses with 5xx errors: {{ humanize $values.B.Value }}%
```

**Sin datos, errores de tiempo de ejecución y tiempos de espera**

Si la consulta de la regla de alerta no devuelve datos o falla debido a un error en el origen de datos o al tiempo de espera, cualquier expresión Threshold, Reduce o Math que utilice esa consulta tampoco devolverá ningún dato o mostrará un error. Cuando esto suceda, estas expresiones no aparecerán en `$values`. Se recomienda comprobar que haya un RefID antes de usarlo, ya que, de lo contrario, la plantilla se estropeará si la consulta no devuelve ningún dato o se produce un error. Para ello, puede utilizar una instrucción if:

```
{{ if $values.B }}{{ $labels.service }} has over 5% of responses with 5xx errors: {{ humanizePercentage $values.B.Value }}{{ end }}
```

## Condiciones clásicas
<a name="v9-alerting-explore-labels-templating-classic"></a>

Si la regla usa condiciones clásicas en lugar de las expresiones Threshold, Reduce y Math, la variable `$values` se indexa según el RefID y la posición de la condición en la condición clásica. Por ejemplo, si tiene una condición clásica con un RefID B que contiene dos condiciones, `$values` contendrá dos condiciones: `B0` y `B1`.

```
The first condition is {{ $values.B0 }}, and the second condition is {{ $values.B1 }}
```

## Funciones
<a name="v9-alerting-explore-labels-templating-functions"></a>

Las siguientes funciones también están disponibles al expandir anotaciones y etiquetas:

**args**

La función `args` traduce una lista de objetos a un mapa con las claves arg0, arg1, etc. El objetivo es permitir que se pasen varios argumentos a las plantillas.

**Ejemplo**

```
{{define "x"}}{{.arg0}} {{.arg1}}{{end}}{{template "x" (args 1 "2")}}
```

```
1 2
```

**externalURL**

La función `externalURL` devuelve la URL externa del servidor de Grafana tal como está configurada en los archivos ini.

**Ejemplo**

```
{{ externalURL }}
```

```
https://example.com/grafana
```

**graphLink**

La función `graphLink` devuelve la ruta a la vista gráfica en [Explore en la versión 9 de Grafana](v9-explore.md) para la expresión y el origen de datos indicados.

**Ejemplo**

```
{{ graphLink "{\"expr\": \"up\", \"datasource\": \"gdev-prometheus\"}" }}
```

```
/explore?left=["now-1h","now","gdev-prometheus",{"datasource":"gdev-prometheus","expr":"up","instant":false,"range":true}]
```

**humanize**

La función `humanize` humaniza los números decimales.

**Ejemplo**

```
{{ humanize 1000.0 }}
```

```
1k
```

**humanize1024**

`humanize1024` funciona de manera similar a `humanize`, pero usa 1024 como base en lugar de 1000.

**Ejemplo**

```
{{ humanize1024 1024.0 }}
```

```
1ki
```

**humanizeDuration**

La función `humanizeDuration` humaniza una duración en segundos.

**Ejemplo**

```
{{ humanizeDuration 60.0 }}
```

```
1m 0s
```

**humanizePercentage**

La función `humanizePercentage` humaniza un valor de relación en porcentaje.

**Ejemplo**

```
{{ humanizePercentage 0.2 }}
```

```
20%
```

**humanizeTimestamp**

La función `humanizeTimestamp` humaniza una marca de tiempo Unix.

**Ejemplo**

```
{{ humanizeTimestamp 1577836800.0 }}
```

```
2020-01-01 00:00:00 +0000 UTC
```

**match**

La función `match` hace coincidir el texto con un patrón de expresión regular.

**Ejemplo**

```
{{ match "a.*" "abc" }}
```

```
true
```

**pathPrefix**

La función `pathPrefix` devuelve la ruta del servidor de Grafana tal como está configurada en los archivos ini.

**Ejemplo**

```
{{ pathPrefix }}
```

```
/grafana
```

**tableLink**

La función `tableLink` devuelve la ruta a la vista tabular en [Explore en la versión 9 de Grafana](v9-explore.md) para la expresión y el origen de datos indicados.

**Ejemplo**

```
{{ tableLink "{\"expr\": \"up\", \"datasource\": \"gdev-prometheus\"}" }}
```

```
/explore?left=["now-1h","now","gdev-prometheus",{"datasource":"gdev-prometheus","expr":"up","instant":true,"range":false}]
```

**title**

La función `title` pone en mayúscula el primer carácter de cada palabra.

**Ejemplo**

```
{{ title "hello, world!" }}
```

```
Hello, World!
```

**toLower**

La función `toLower` devuelve todo el texto en minúsculas.

**Ejemplo**

```
{{ toLower "Hello, world!" }}
```

```
hello, world!
```

**toUpper**

La función `toUpper` devuelve todo el texto en mayúsculas.

**Ejemplo**

```
{{ toUpper "Hello, world!" }}
```

```
HELLO, WORLD!
```

**reReplaceAll**

La función `reReplaceAll` reemplaza el texto que coincide con la expresión regular.

**Ejemplo**

```
{{ reReplaceAll "localhost:(.*)" "example.com:$1" "localhost:8080" }}
```

```
example.com:8080
```

# Estado de las reglas de alerta
<a name="v9-alerting-explore-state"></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).

El estado de las reglas de alerta ayuda a comprender varios indicadores clave del estado de las alertas.

Hay tres componentes clave: *estado de regla de alerta*, *estado de instancia de alerta* e *integridad de regla de alerta*. Aunque están relacionados, cada componente transmite información sutilmente diferente.

**Estado de la regla de alerta**

Una regla de alertas puede tener uno de los siguientes estados:


| Estado | Description (Descripción) | 
| --- | --- | 
|  Normal  |  Ninguna de las series temporales devueltas por el motor de evaluación está en estado `Pending` o `Firing`.  | 
|  Pending (Pendiente)  |  Al menos una de las series temporales devueltas por el motor de evaluación está `Pending`.  | 
|  Activación  |  Al menos una de las series temporales devueltas por el motor de evaluación está `Firing`.  | 

**nota**  
Las alertas pasarán primero a `pending` y después a `firing`, por lo que se necesitarán al menos dos ciclos de evaluación antes de que se active una alerta.

**Estado de instancia de alerta**

Una instancia de alerta puede tener uno de los siguientes estados:


| Estado | Description (Descripción) | 
| --- | --- | 
|  Normal  |  Estado de una alerta que no está en activación ni pendiente, todo funciona correctamente.  | 
|  Pending (Pendiente)  |  Estado de una alerta que ha estado activa durante menos del tiempo umbral configurado.  | 
|  Alertas  |  Estado de una alerta que ha estado activa durante más del tiempo umbral configurado.  | 
|  NoData  |  No se ha recibido ningún dato del intervalo de tiempo configurado.  | 
|  Error  |  El error que se produjo al intentar evaluar una regla de alerta.  | 

**Estado de la regla de alerta**

Una regla de alerta puede tener uno de los siguientes estados:


| Estado | Description (Descripción) | 
| --- | --- | 
|  Correcto  |  No hay ningún error al evaluar una regla de alerta.  | 
|  Error  |  Hubo un error al evaluar una regla de alerta.  | 
|  NoData  |  Ausencia de datos en al menos una serie temporal devuelta durante la evaluación de una regla.  | 

**Alertas especiales de `NoData` y `Error`**

Cuando la evaluación de una regla de alerta devuelve el estado `NoData` o `Error`, Grafana Alerting generará instancias de alerta con las siguientes etiquetas adicionales:


| Etiqueta | Description (Descripción) | 
| --- | --- | 
|  alertname  |  `DatasourceNoData` o `DatasourceError` según el estado.  | 
|  datasource\$1uid  |  UID del origen de datos que provocó el estado.  | 

Para gestionar estas alertas de la misma manera que las alertas normales, agregue un silencio, diríjalas a un punto de contacto, etc.

# Puntos de contacto
<a name="v9-alerting-explore-contacts"></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 los contactos cuando se activa una regla de alerta. Un punto de contacto puede tener uno o más tipos, por ejemplo, correo electrónico, Slack, webhook, etc. Cuando se activa una regla de alerta, se envía una notificación a todos los tipos de puntos de contacto listados para un punto de contacto. Los puntos de contacto se pueden configurar para Grafana Alertmanager, así como para los administradores de alertas externos.

También puede utilizar las plantillas de notificaciones para personalizar los mensajes de notificación según los tipos de puntos de contacto.

**Tipos de puntos de contacto compatibles**

En la siguiente tabla, se muestran los tipos de puntos de contacto de admitidos por Grafana.


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

Para obtener más información acerca de los puntos de contacto, consulte [Uso de puntos de contacto](v9-alerting-contact-points.md) y [Personalización de las notificaciones](v9-alerting-notifications.md).

# Notificaciones
<a name="v9-alerting-explore-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).

Grafana utiliza Alertmanagers para enviar notificaciones de alertas resueltas y de activación. Grafana tiene su propio Alertmanager, denominado “Grafana” en la interfaz de usuario, pero también admite el envío de notificaciones desde otros administradores de alertas, como [Prometheus Alertmanager](https://prometheus.io/docs/alerting/latest/alertmanager/). Grafana Alertmanager utiliza políticas de notificación y puntos de contacto para configurar cómo y dónde se envía una notificación, con qué frecuencia debe enviarse una notificación y si las alertas deben enviarse todas en la misma notificación, en notificaciones agrupadas según un conjunto de etiquetas o como notificaciones independientes.

## Políticas de notificaciones
<a name="v9-alerting-explore-notifications-policies"></a>

Las políticas de notificaciones controlan cuándo y dónde se envían las notificaciones. Una política de notificaciones puede optar por enviar todas las alertas juntas en la misma notificación, enviar las alertas agrupadas en función de un conjunto de etiquetas o enviar las alertas como notificaciones independientes. Puede configurar cada política de notificaciones para controlar la frecuencia con la que se deben enviar las notificaciones, así como disponer de uno o varios temporizadores de silencio para evitar que se envíen notificaciones a horas del día determinadas y días de la semana determinados.

Las políticas de notificaciones se organizan en una estructura de árbol en la que, en la raíz del árbol, hay una política de notificaciones denominada política raíz. Solo puede haber una política raíz y no se puede eliminar.

Las políticas de enrutamiento específicas son secundarias a la política raíz y se pueden utilizar para coincidir con todas las alertas o un subconjunto de alertas en función de un conjunto de etiquetas coincidentes. Una política de notificaciones coincide con una alerta cuando sus etiquetas coincidentes coinciden con las etiquetas de la alerta.

Una política de enrutamiento específica puede tener sus propias políticas secundarias, denominadas políticas anidadas, que permiten una mayor coincidencia de alertas. Un ejemplo de política de enrutamiento específica podría ser el envío de alertas de infraestructura al equipo de operaciones, mientras que una política secundaria podría enviar alertas de alta prioridad a PagerDuty y alertas de baja prioridad a Slack.

Todas las alertas, independientemente de sus etiquetas, coinciden con la política raíz. Sin embargo, cuando la política raíz recibe una alerta, examina cada política de enrutamiento específica y envía la alerta a la primera política de enrutamiento específica que coincide con la alerta. Si la política de enrutamiento específica tiene más políticas secundarias, puede intentar establecer una coincidencia entre la alerta y una de sus políticas anidadas. Si ninguna política anidada coincide con la alerta, la política de enrutamiento específica es la política coincidente. Si no hay políticas de enrutamiento específicas o ninguna política de enrutamiento específica coincide con la alerta, entonces la política raíz es la política coincidente.

## Puntos de contacto
<a name="v9-alerting-explore-notifications-contacts"></a>

Los puntos de contacto contienen la configuración para enviar notificaciones. Un punto de contacto es una lista de integraciones, cada una de las cuales envía una notificación a una dirección de correo electrónico, servicio o URL determinados. Los puntos de contacto pueden tener varias integraciones del mismo tipo o una combinación de integraciones de distintos tipos. Por ejemplo, un punto de contacto podría contener una integración de PagerDuty, una integración de PagerDuty y Slack, o una integración de PagerDuty, una integración de Slack y dos integraciones de Amazon SNS. También puede configurar un punto de contacto sin integraciones, en cuyo caso no se enviarán notificaciones.

Un punto de contacto no puede enviar notificaciones hasta que se haya agregado a una política de notificaciones. Una política de notificaciones solo puede enviar alertas a un punto de contacto, pero se puede agregar un punto de contacto a varias políticas de notificación al mismo tiempo. Cuando una alerta coincide con una política de notificaciones, la alerta se envía al punto de contacto de esa política de notificaciones, que, a su vez, envía una notificación a cada integración de su configuración.

**nota**  
Para obtener información sobre las integraciones compatibles con los puntos de contacto, consulte [Puntos de contacto](v9-alerting-explore-contacts.md).

## Plantillas de notificaciones
<a name="v9-alerting-explore-notifications-templating"></a>

Puede personalizar las notificaciones con plantillas. Por ejemplo, las plantillas se pueden utilizar para cambiar el título y el mensaje de las notificaciones que se envían a Slack.

Las plantillas no se limitan a una integración o punto de contacto individual, sino que se pueden utilizar en varias integraciones en el mismo punto de contacto e incluso en integraciones entre diferentes puntos de contacto. Por ejemplo, un usuario de Grafana puede crear una plantilla llamada `custom_subject_or_title` y utilizarla tanto para los temas de PagerDuty como para los títulos de los mensajes de Slack sin tener que crear dos plantillas independientes.

Todas las plantillas de notificaciones están escritas en el [lenguaje de plantillas de Go](https://pkg.go.dev/text/template) y se encuentran en la pestaña Puntos de contacto de la página Alertas.

## Silencios
<a name="v9-alerting-explore-notifications-silences"></a>

Puede utilizar los silencios para silenciar las notificaciones de una o más reglas de activación. Los silencios no impiden que las alertas se activen o se resuelvan, ni ocultan las alertas de activación en la interfaz de usuario. Un silencio se mantiene durante el tiempo configurado, que puede ser en minutos, horas, días, meses o años.