

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.

# Descripción general de
<a name="v10-alerting-overview"></a>

****  
Este tema de documentación está diseñado para los espacios de trabajo de Grafana que admiten la **versión 10.x de Grafana**.  
Para los espacios de trabajo de Grafana que admiten la versión 9.x de Grafana, consulte [Uso de la versión 9 de Grafana](using-grafana-v9.md).  
Para los espacios de trabajo de Grafana que admiten la versión 8.x de Grafana, consulte [Uso de la versión 8 de Grafana](using-grafana-v8.md).

Tanto si acaba de empezar como si es un usuario más experimentado de Grafana Alerting, obtenga más información sobre los aspectos básicos y las características disponibles que ayudan a crear, administrar y responder a las alertas, y a mejorar la capacidad de su equipo para resolver los problemas rápidamente.

## Principles
<a name="v10-alerting-overview-principles"></a>

En los sistemas de alertas basados en Prometheus, dispone de un generador que crea alertas y un receptor que las recibe. Por ejemplo, Prometheus es un generador de alertas y es responsable de evaluar las reglas de alertas, mientras que Alertmanager es un receptor de alertas y se encarga de agrupar, inhibir, silenciar y enviar notificaciones sobre alertas activadas y resueltas.

Grafana Alerting se basa en el modelo de Prometheus de diseño de sistemas de alertas. Cuenta con un generador de alertas interno responsable de programar y evaluar las reglas de alertas, así como un receptor de alertas interno responsable de agrupar, inhibir, silenciar y enviar notificaciones. Grafana no utiliza Prometheus como generador de alertas porque Grafana Alerting debe funcionar con muchos otros orígenes de datos además de Prometheus. Sin embargo, utiliza Alertmanager como receptor de alertas.

Las alertas se envían al receptor de alertas, donde se enrutan, agrupan, inhiben, silencian y notifican. En Grafana Alerting, el receptor de alertas predeterminado es el administrador de alertas incrustado en Grafana y se denomina Grafana Alertmanager. Sin embargo, también puede utilizar otros administradores de alertas, que se denominan [Alertmanagers externos](v10-alerting-setup-alertmanager.md).

## Aspectos fundamentales
<a name="v10-alerting-overview-fundamentals"></a>

A continuación, se proporciona información general de las distintas partes de Grafana Alerting.

### Reglas de alertas
<a name="v10-alerting-overview-alert-rules"></a>

Una regla de alertas es un conjunto de criterios que determinan cuándo debe activarse una alerta. Consta de una o más consultas y expresiones, una condición que debe cumplirse, un intervalo que determina la frecuencia con la que se evalúa la regla de alerta y un periodo durante el que se debe cumplir la condición para que se active una alerta.

Las reglas de alertas se evalúan a lo largo de su intervalo y cada regla de alerta puede tener cero, una o cualquier número de alertas activadas a la vez. El estado de la regla de alerta viene determinado por su alerta de mayor nivel `severe`, que puede ser Normal, Pendiente o Activación. Por ejemplo, si al menos una de las alertas de una regla de alertas está en activación, la regla de alertas también está en activación. El estado de una regla de alerta viene determinado por el estado de su evaluación más reciente. Estos pueden ser OK, Error y NoData.

Una característica muy importante de las reglas de alertas es que admiten anotaciones y etiquetas personalizadas. Estas permiten configurar las alertas con metadatos adicionales, como resúmenes y descripciones, y agregar etiquetas adicionales para dirigir las alertas a políticas de notificación específicas.

### Alertas
<a name="v10-alerting-overview-alerts"></a>

Las alertas se identifican de forma exclusiva mediante conjuntos de key/value pares denominados etiquetas. Cada clave es un nombre de etiqueta y cada valor es un valor de etiqueta. Por ejemplo, una alerta podría tener las etiquetas `foo=bar` y otra podría tener las etiquetas `foo=baz`. Una alerta puede tener muchas etiquetas, como `foo=bar,bar=baz`, pero no puede tener la misma etiqueta dos veces, como `foo=bar,foo=baz`. Dos alertas tampoco pueden tener las mismas etiquetas y, si dos alertas tienen las mismas etiquetas, por ejemplo `foo=bar,bar=baz` y `foo=bar,bar=baz`, se descartará una de las alertas. Las alertas se resuelven cuando la condición de la regla de alerta deja de cumplirse o se elimina la regla de alerta.

En las alertas administradas por Grafana, las alertas pueden tener el estado Normal, Pendiente, Alerta, Sin datos o Error. En las alertas gestionadas por fuentes de datos, como Mimir y Loki, las alertas pueden estar en Normal, Pendiente y Alerta, pero no NoData en Error.

### Puntos de contacto
<a name="v10-alerting-overview-contact-points"></a>

Los puntos de contacto determinan dónde se envían las notificaciones. Por ejemplo, puedes tener un punto de contacto que envíe notificaciones a una dirección de correo electrónico, a Slack, a un sistema de gestión de incidentes (IRM) como Grafana OnCall o Pagerduty, o a un webhook.

Las notificaciones que se envían desde los puntos de contacto se pueden personalizar mediante plantillas de notificaciones. Puede utilizar las plantillas de notificaciones para cambiar el título, el mensaje y la estructura de la notificación. Las plantillas de notificaciones no son específicas de las integraciones individuales o los puntos de contacto.

### Políticas de notificaciones
<a name="v10-alerting-overview-notification-policies"></a>

Las políticas de notificaciones agrupan las alertas y, a continuación, las dirigen a los puntos de contacto. Determinan cuándo se envían las notificaciones y con qué frecuencia deben repetirse.

Las alertas se ajustan a las políticas de notificación mediante criterios de coincidencia de etiquetas. Se trata de expresiones legibles por personas que indican si las etiquetas de la alerta coinciden de manera exacta, no coinciden de manera exacta, contienen o no contienen el texto esperado. Por ejemplo, el criterio de coincidencia `foo=bar` hace coincidir las alertas con la etiqueta `foo=bar`, mientras que el criterio de coincidencia `foo=~[a-zA-Z]+` hace coincidir las alertas con cualquier etiqueta llamada foo cuyo valor coincida con la expresión regular `[a-zA-Z]+`.

De manera predeterminada, una alerta solo puede coincidir con una política de notificaciones. Sin embargo, con la característica `continue`, las alertas se pueden configurar para que coincidan con cualquier número de políticas de notificaciones al mismo tiempo. Para obtener más información acerca de las políticas de notificaciones, consulte [Políticas de notificaciones](v10-alerting-explore-notifications-policies-details.md).

### Silencios y temporizadores de silencio
<a name="v10-alerting-overview-silences-and-mute-timings"></a>

Los silencios y los temporizadores de silencio le permiten pausar las notificaciones de alertas específicas o incluso de políticas de notificaciones completas. Utilice el silencio para pausar las notificaciones de forma puntual, por ejemplo, mientras trabaja en la solución de una alerta, y utilice los temporizadores de silencio para pausar las notificaciones a intervalos periódicos, por ejemplo, durante los periodos de mantenimiento programados de manera periódica.

**Topics**
+ [Principles](#v10-alerting-overview-principles)
+ [Aspectos fundamentales](#v10-alerting-overview-fundamentals)
+ [Orígenes de datos y Grafana Alerting](v10-alerting-overview-datasources.md)
+ [Alertas sobre datos numéricos](v10-alerting-overview-numeric.md)
+ [Etiquetas y anotaciones](v10-alerting-overview-labels.md)
+ [Acerca de las reglas de alertas](v10-alerting-explore-rules.md)
+ [Alertmanager](v10-alerting-explore-alertmanager.md)
+ [Puntos de contacto](v10-alerting-explore-contacts.md)
+ [Notificaciones](v10-alerting-explore-notifications.md)
+ [Alertas de alta disponibilidad](v10-alerting-explore-high-availability.md)

# Orígenes de datos y Grafana Alerting
<a name="v10-alerting-overview-datasources"></a>

****  
Este tema de documentación está diseñado para los espacios de trabajo de Grafana que admiten la **versión 10.x de Grafana**.  
Para los espacios de trabajo de Grafana que admiten la versión 9.x de Grafana, consulte [Uso de la versión 9 de Grafana](using-grafana-v9.md).  
Para los espacios de trabajo de Grafana que admiten la versión 8.x de Grafana, consulte [Uso de la versión 8 de Grafana](using-grafana-v8.md).

Hay varios orígenes de datos que son compatibles con Grafana Alerting. Cada origen de datos es compatible con un complemento. Grafana Alerting requiere que los complementos del origen de datos sean complementos de *backend* para poder evaluar las reglas que utilizan el origen de datos, ya que el motor de evaluación se ejecuta en el backend. Los complementos también deben especificar que son compatibles con Grafana Alerting.

Los orígenes de datos se agregan y actualizan con el tiempo. Se sabe que los siguientes orígenes de datos son compatibles con Grafana Alerting.
+ [Conectarse a una fuente de CloudWatch datos de Amazon](using-amazon-cloudwatch-in-AMG.md)
+ [Conexión a un origen de datos de Azure Monitor](using-azure-monitor-in-AMG.md)
+ [Conectarse a una fuente OpenSearch de datos de Amazon Service](using-Amazon-OpenSearch-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 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 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)

Para obtener información más detallada sobre los orígenes de datos y los complementos de orígenes de datos en Amazon Managed Grafana, consulte [Conexión con orígenes de datos](AMG-data-sources.md).

# Alertas sobre datos numéricos
<a name="v10-alerting-overview-numeric"></a>

****  
Este tema de documentación está diseñado para los espacios de trabajo de Grafana que admiten la **versión 10.x de Grafana**.  
Para los espacios de trabajo de Grafana que admiten la versión 9.x de Grafana, consulte [Uso de la versión 9 de Grafana](using-grafana-v9.md).  
Para los espacios de trabajo de Grafana que admiten la versión 8.x de Grafana, consulte [Uso de la versión 8 de Grafana](using-grafana-v8.md).

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
<a name="v10-alerting-numeric-tabular"></a>

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
<a name="v10-alerting-numeric-tabexample"></a>

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="v10-alerting-overview-labels"></a>

****  
Este tema de documentación está diseñado para los espacios de trabajo de Grafana que admiten la **versión 10.x de Grafana**.  
Para los espacios de trabajo de Grafana que admiten la versión 9.x de Grafana, consulte [Uso de la versión 9 de Grafana](using-grafana-v9.md).  
Para los espacios de trabajo de Grafana que admiten la versión 8.x de Grafana, consulte [Uso de la versión 8 de Grafana](using-grafana-v8.md).

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](v10-alerting-overview-labels-templating.md) para ver cómo hacerlo). Este tipo de descripción sería más adecuada como anotación.

## Etiquetas
<a name="v10-alerting-overview-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í](v10-alerting-overview-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="v10-alerting-overview-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í](v10-alerting-overview-labels-templating.md).

**Topics**
+ [Etiquetas](#v10-alerting-overview-labels-labels)
+ [Anotaciones](#v10-alerting-overview-labels-annotations)
+ [Cómo funciona la búsqueda de coincidencias de etiquetas](v10-alerting-overview-labels-matching.md)
+ [Etiquetas en Grafana Alerting](v10-alerting-overview-labels-alerting.md)
+ [Plantillas de etiquetas y anotaciones](v10-alerting-overview-labels-templating.md)

# Cómo funciona la búsqueda de coincidencias de etiquetas
<a name="v10-alerting-overview-labels-matching"></a>

****  
Este tema de documentación está diseñado para los espacios de trabajo de Grafana que admiten la **versión 10.x de Grafana**.  
Para los espacios de trabajo de Grafana que admiten la versión 9.x de Grafana, consulte [Uso de la versión 9 de Grafana](using-grafana-v9.md).  
Para los espacios de trabajo de Grafana que admiten la versión 8.x de Grafana, consulte [Uso de la versión 8 de Grafana](using-grafana-v8.md).

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.

## Ejemplo
<a name="v10-alerting-overview-labels-matching-ex"></a>

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.

## Exclusión de etiquetas
<a name="v10-alerting-overview-labels-matching-exclude"></a>

También puede escribir criterios de coincidencia de etiquetas para excluirlas.

Este es un ejemplo que muestra cómo excluir la etiqueta `team`. Puede elegir entre cualquiera de estos valores para excluir la etiqueta.
+ `team=""`
+ `team!~.+`
+ `team=~^$`

# Etiquetas en Grafana Alerting
<a name="v10-alerting-overview-labels-alerting"></a>

****  
Este tema de documentación está diseñado para los espacios de trabajo de Grafana que admiten la **versión 10.x de Grafana**.  
Para los espacios de trabajo de Grafana que admiten la versión 9.x de Grafana, consulte [Uso de la versión 9 de Grafana](using-grafana-v9.md).  
Para los espacios de trabajo de Grafana que admiten la versión 8.x de Grafana, consulte [Uso de la versión 8 de Grafana](using-grafana-v8.md).

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](v10-alerting-configure.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
<a name="v10-alerting-overview-labels-alerting-external"></a>

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
<a name="v10-alerting-overview-labels-alerting-reserved"></a>

**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 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="v10-alerting-overview-labels-templating"></a>

****  
Este tema de documentación está diseñado para los espacios de trabajo de Grafana que admiten la **versión 10.x de Grafana**.  
Para los espacios de trabajo de Grafana que admiten la versión 9.x de Grafana, consulte [Uso de la versión 9 de Grafana](using-grafana-v9.md).  
Para los espacios de trabajo de Grafana que admiten la versión 8.x de Grafana, consulte [Uso de la versión 8 de Grafana](using-grafana-v8.md).

Puede utilizar plantillas para incluir datos de consultas y expresiones en etiquetas y anotaciones. Por ejemplo, es posible que desee establecer la etiqueta de gravedad de una alerta en función del valor de la consulta o utilizar la etiqueta de instancia de la consulta en una anotación de resumen para saber qué servidor hace un uso elevado de la CPU.

Todas las plantillas deben escribirse en [texto/plantilla](https://pkg.go.dev/text/template). Independientemente de si va a crear una plantilla para una etiqueta o una anotación, debe escribir cada plantilla en línea dentro de la etiqueta o anotación para la que esté creando la plantilla. Esto significa que no puede compartir plantillas entre etiquetas y anotaciones, sino que tendrá que copiar las plantillas donde quiera usarlas.

Cada plantilla se evalúa siempre que se evalúa la regla de alerta y se evalúa para cada alerta por separado. Por ejemplo, si la regla de alerta tiene una anotación resumida basada en una plantilla y la regla de alerta tiene 10 alertas de activación, la plantilla se ejecutará 10 veces, una para cada alerta. En la medida de lo posible, evite hacer cálculos costosos en las plantillas.

## Ejemplos
<a name="v10-alerting-overview-labels-templating-examples"></a>

En lugar de escribir un tutorial completo, text/template, the following examples attempt to show the most common use-cases we have seen for templates. You can use these examples verbatim, or adapt them as necessary for your use case. For more information about how to write text/template consulte la documentación de [texto/plantilla](https://pkg.go.dev/text/template).

**Impresión de todas las etiquetas, separadas por comas**

Para imprimir todas las etiquetas, separadas por comas, imprima la variable `$labels`:

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

Por ejemplo, si aparece una alerta con las etiquetas `alertname=High CPU usage`, `grafana_folder=CPU alerts` y `instance=server1`, imprimiría: 

```
alertname=High CPU usage, grafana_folder=CPU alerts, instance=server1
```

**nota**  
Si utiliza condiciones clásicas, `$labels` no contendrá ninguna etiqueta de la consulta. Consulte [la variable \$1labels](#v10-alerting-overview-labels-templating-the-labels-variable) para obtener más información.

**Impresión de todas las etiquetas, una por línea**

Para imprimir todas las etiquetas, una por línea, usa `range` a para iterar sobre cada key/value par e imprimirlas individualmente. Aquí, `$k` hace referencia al nombre y `$v`, al valor de la etiqueta actual: 

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

Por ejemplo, si aparece una alerta con las etiquetas `alertname=High CPU usage`, `grafana_folder=CPU alerts` y `instance=server1`, imprimiría:

```
alertname=High CPU usage
grafana_folder=CPU alerts
instance=server1
```

**nota**  
Si utiliza condiciones clásicas, `$labels` no contendrá ninguna etiqueta de la consulta. Consulte [la variable \$1labels](#v10-alerting-overview-labels-templating-the-labels-variable) para obtener más información.

**Impresión de una etiqueta individual**

Para imprimir una etiqueta individual, utilice la función `index` con la variable `$labels`: 

```
The host {{ index $labels "instance" }} has exceeded 80% CPU usage for the last 5 minutes
```

Por ejemplo, si aparece una alerta con la etiqueta `instance=server1`, se imprimiría:

```
The host server1 has exceeded 80% CPU usage for the last 5 minutes
```

**nota**  
Si utiliza condiciones clásicas, `$labels` no contendrá ninguna etiqueta de la consulta. Consulte [la variable \$1labels](#v10-alerting-overview-labels-templating-the-labels-variable) para obtener más información.

**Impresión del valor de una consulta**

Para imprimir el valor de una consulta instantánea, puede imprimir su identificador de referencia mediante la función `index` y la variable `$values`: 

```
{{ index $values "A" }}
```

Por ejemplo, si una consulta instantánea devuelve el valor 81,2345, se imprimirá:

```
81.2345
```

Para imprimir el valor de una consulta de rango, primero debe reducirla de una serie temporal a un vector instantáneo con una expresión reducida. A continuación, puede imprimir el resultado de la expresión reducida mediante su identificador de referencia en su lugar. Por ejemplo, si la expresión reducida toma el promedio de A y tiene el RefID B, escribiría: 

```
{{ index $values "B" }}
```

**Impresión del valor para personas de una consulta**

Para imprimir el valor para personas de una consulta instantánea, utilice la función `humanize`:

```
{{ humanize (index $values "A").Value }}
```

Por ejemplo, si una consulta instantánea devuelve el valor 81,2345, se imprimirá: 

```
81.234
```

Para imprimir el valor para personas de una consulta de rango, primero debe reducirla de una serie temporal a un vector instantáneo con una expresión reducida. A continuación, puede imprimir el resultado de la expresión reducida mediante su identificador de referencia en su lugar. Por ejemplo, si la expresión reducida toma el promedio de A y tiene el RefID B, escribiría: 

```
{{ humanize (index $values "B").Value }}
```

**Impresión del valor de una consulta como porcentaje**

Para imprimir el valor de una consulta instantánea como un porcentaje, utilice la función `humanizePercentage`:

```
{{ humanizePercentage (index $values "A").Value }}
```

Esta función espera que el valor sea un número decimal entre 0 y 1. Si, por el contrario, el valor es un número decimal entre 0 y 100, puede dividirlo entre 100 en la consulta o mediante una expresión matemática. Si la consulta es una consulta de rango, primero debe reducirla de una serie temporal a un vector instantáneo con una expresión reducida.

**Establecimiento de una gravedad a partir del valor de una consulta**

Para establecer una etiqueta de gravedad a partir del valor de una consulta, utilice una instrucción if y la función de comparación mayor que. Asegúrese de utilizar decimales (`80.0`,,`50.0`, etc.) al hacer comparaciones`0.0`, `$values` ya que no text/template admite la coerción de tipos. Puede encontrar una lista de todas las funciones de comparación admitidas [aquí](https://pkg.go.dev/text/template#hdr-Functions).

```
{{ if (gt $values.A.Value 80.0) -}}
high
{{ else if (gt $values.A.Value 50.0) -}}
medium
{{ else -}}
low
{{- end }}
```

**Impresión de todas las etiquetas a partir de una condición clásica**

No puede utilizar `$labels` para imprimir etiquetas a partir de la consulta si utiliza las condiciones clásicas y debe utilizar `$values` en su lugar. Esto se debe a que las condiciones clásicas descartan estas etiquetas para aplicar un comportamiento unidimensional (como máximo una alerta por regla de alerta). Si las condiciones clásicas no descartaran estas etiquetas, las consultas que devolvieran varias series temporales harían que las alertas oscilaran entre activadas y resueltas constantemente, ya que las etiquetas cambiarían cada vez que se evaluara la regla de alerta.

En cambio, la variable `$values` contiene los valores reducidos de todas las series temporales para todas las condiciones que se activen. Por ejemplo, si tiene una regla de alerta con una consulta A que devuelve dos series temporales y una condición B clásica con dos condiciones, `$values` contendría `B0`, `B1`, `B2` y `B3`. Si la condición clásica B tuviera solo una condición, `$values` contendría solo `B0` y `B1`.

Para imprimir todas las etiquetas de todas las series temporales de activación, utilice la siguiente plantilla (asegúrese de sustituir `B` de la expresión regular por el RefID de la condición clásica si es diferente): 

```
{{ range $k, $v := $values -}}
{{ if (match "B[0-9]+" $k) -}}
{{ $k }}: {{ $v.Labels }}{{ end }}
{{ end }}
```

Por ejemplo, una condición clásica para dos series temporales que superen una sola condición imprimiría: 

```
B0: instance=server1
B1: instance=server2
```

Si la condición clásica tiene dos o más condiciones y una serie temporal supera varias condiciones al mismo tiempo, sus etiquetas se duplicarán para cada condición que se supere: 

```
B0: instance=server1
B1: instance=server2
B2: instance=server1
B3: instance=server2
```

Si necesita imprimir etiquetas únicas, debería considerar la posibilidad de cambiar las reglas de alerta de unidimensionales a multidimensionales. Para ello, sustituya la condición clásica por expresiones de reducción y matemáticas.

**Impresión de todos los valores a partir de una condición clásica**

Para imprimir todos los valores de una condición clásica, tome el ejemplo anterior y sustituya `$v.Labels` por `$v.Value`: 

```
{{ range $k, $v := $values -}}
{{ if (match "B[0-9]+" $k) -}}
{{ $k }}: {{ $v.Value }}{{ end }}
{{ end }}
```

Por ejemplo, una condición clásica para dos series temporales que superen una sola condición imprimiría: 

```
B0: 81.2345
B1: 84.5678
```

Si la condición clásica tiene dos o más condiciones y una serie temporal supera varias condiciones al mismo tiempo, `$values` contendrá los valores de todas las condiciones: 

```
B0: 81.2345
B1: 92.3456
B2: 84.5678
B3: 95.6789
```

## Variables
<a name="v10-alerting-overview-labels-templating-variables"></a>

Las siguientes variables están disponibles al crear plantillas de etiquetas y anotaciones:

### Variable de etiquetas
<a name="v10-alerting-overview-labels-templating-the-labels-variable"></a>

La variable `$labels` contiene todas las etiquetas de la consulta. Por ejemplo, supongamos que tiene una consulta que devuelve el uso de la CPU de todos los servidores y tiene una regla de alerta que se activa cuando alguno de los servidores ha superado el 80 % de uso de la CPU durante los últimos 5 minutos. Quiere agregar una anotación de resumen a la alerta que indique qué servidor hace un uso elevado de la CPU. Con la variable `$labels`, puede escribir una plantilla que imprima una oración legible por personas, como: 

```
CPU usage for {{ index $labels "instance" }} has exceeded 80% for the last 5 minutes
```

**nota**  
Si utiliza una condición clásica, `$labels` no contendrá ninguna etiqueta de la consulta. Las condiciones clásicas descartan estas etiquetas para aplicar un comportamiento unidimensional (como máximo una alerta por regla de alerta). Si quiere utilizar las etiquetas de la consulta en la plantilla, siga el ejemplo anterior *Impresión de todas las etiquetas a partir de una condición clásica*.

### Valor de la variable
<a name="v10-alerting-overview-labels-templating-the-value-variable"></a>

La variable `$value` es una cadena que contiene las etiquetas y los valores de todas las consultas instantáneas, las expresiones de umbral, reducción y matemáticas, así como las condiciones clásicas de la regla de alerta. No contiene los resultados de las consultas de rango, ya que pueden devolver entre 10 y 10 000 filas o métricas. Si lo hiciera, para consultas especialmente grandes, una sola alerta podría consumir decenas de segundos MBs de memoria y Grafana se quedaría sin memoria muy rápidamente.

Para imprimir la variable `$value` en el resumen, escribiría algo como esto: 

```
CPU usage for {{ index $labels "instance" }} has exceeded 80% for the last 5 minutes: {{ $value }}
```

Y tendría un aspecto similar al siguiente:

```
CPU usage for instance1 has exceeded 80% for the last 5 minutes: [ var='A' labels={instance=instance1} value=81.234 ]
```

Aquí `var='A'` se refiere a la consulta instantánea con el identificador de referencia A, `labels={instance=instance1}` se refiere a las etiquetas y `value=81.234` al uso medio de la CPU en los últimos 5 minutos.

Si quiere imprimir solo una parte de la cadena en lugar de la cadena completa, utilice la variable `$values`. Contiene la misma información que `$value`, pero en una tabla estructurada, y es mucho más fácil de usar que escribir una expresión regular para que coincida solo con el texto deseado.

### Variable de valores
<a name="v10-alerting-overview-labels-templating-the-values-variable"></a>

La `$values` variable es una tabla que contiene las etiquetas y los valores de punto flotante de todas las consultas y expresiones instantáneas, indexadas por su referencia. IDs

Para imprimir el valor de la consulta instantánea con el RefID A:

```
CPU usage for {{ index $labels "instance" }} has exceeded 80% for the last 5 minutes: {{ index $values "A" }}
```

Por ejemplo, en el caso de una alerta con las etiquetas `instance=server1` y una consulta instantánea con el valor `81.2345`, imprimiría:

```
CPU usage for instance1 has exceeded 80% for the last 5 minutes: 81.2345
```

Si la consulta en el ID de referencia A es una consulta de rango en lugar de una consulta instantánea, agregue una expresión de reducción con el ID de referencia B y sustituya `(index $values "A")` por `(index $values "B")`:

```
CPU usage for {{ index $labels "instance" }} has exceeded 80% for the last 5 minutes: {{ index $values "B" }}
```

## Funciones
<a name="v10-alerting-overview-labels-templating-functions"></a>

Las siguientes funciones están disponibles al crear plantillas de etiquetas y anotaciones:

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

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

```
1 2
```

**externalURL**

La función `externalURL` devuelve la URL externa del servidor Grafana.

```
{{ externalURL }}
```

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

**graphLink**

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

```
{{ 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.

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

```
1k
```

**humanize1024**

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

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

```
1ki
```

**humanizeDuration**

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

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

```
1m 0s
```

**humanizePercentage**

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

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

```
20%
```

**humanizeTimestamp**

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

```
{{ 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.

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

```
true
```

**pathPrefix**

La función `pathPrefix` devuelve la ruta del servidor Grafana.

```
{{ pathPrefix }}
```

```
/grafana
```

**tableLink**

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

```
{{ 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.

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

```
Hello, World!
```

**toLower**

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

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

```
hello, world!
```

**toUpper**

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

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

```
HELLO, WORLD!
```

**reReplaceAll**

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

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

```
example.com:8080
```

# Acerca de las reglas de alertas
<a name="v10-alerting-explore-rules"></a>

****  
Este tema de documentación está diseñado para los espacios de trabajo de Grafana que admiten la **versión 10.x de Grafana**.  
Para los espacios de trabajo de Grafana que admiten la versión 9.x de Grafana, consulte [Uso de la versión 9 de Grafana](using-grafana-v9.md).  
Para los espacios de trabajo de Grafana que admiten la versión 8.x de Grafana, consulte [Uso de la versión 8 de Grafana](using-grafana-v8.md).

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 el tiempo durante el cual debe cumplirse la condición para que comience a activarse.

Mientras que las consultas y las expresiones seleccionan el conjunto de datos que se va a evaluar, una *condición* establece el umbral que los datos deben alcanzar o superar para crear una 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](v10-alerting-explore-rules-types.md)
+ [Reglas de registros](v10-alerting-explore-rule-recording.md)
+ [Consultas y condiciones](v10-alerting-explore-rules-queries.md)
+ [Instancias de alerta](v10-alerting-rules-instances.md)
+ [Espacios de nombres, carpetas y grupos](v10-alerting-rules-grouping.md)
+ [Evaluación de la regla de alerta](v10-alerting-rules-evaluation.md)
+ [Estado de las reglas de alerta](v10-alerting-explore-state.md)
+ [Plantillas de notificaciones](v10-alerting-rules-notification-templates.md)

# Tipos de reglas de alertas
<a name="v10-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 10.x de Grafana**.  
Para los espacios de trabajo de Grafana que admiten la versión 9.x de Grafana, consulte [Uso de la versión 9 de Grafana](using-grafana-v9.md).  
Para los espacios de trabajo de Grafana que admiten la versión 8.x de Grafana, consulte [Uso de la versión 8 de Grafana](using-grafana-v8.md).

Grafana admite varios tipos de reglas de alerta. Obtenga más información sobre cada uno de los tipos de reglas de alertas, cómo funcionan y decida cuál es la mejor para su caso de uso.

## Reglas administradas por Grafana
<a name="v10-alerting-explore-rule-types-grafana"></a>

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 varios orígenes de datos, puede agregar [expresiones](v10-panels-query-xform-expressions.md) para transformar los datos y establecer condiciones de alerta.

En alertas administradas por Grafana:
+ Las reglas de alertas se crean en Grafana, en función de un origen de datos o varios.
+ Desde Grafana, el motor de evaluación evalúa las reglas de alertas.
+ Las alertas se envían mediante el Grafana Alertmanager interno.

**nota**  
También puede configurar las alertas para que se envíen mediante un administrador de alertas externo o utilizar Alertmanagers internos y externos. Para más información, consulte [Adición de un Alertmanager externo](v10-alerting-setup-alertmanager.md).

## Reglas administradas por orígenes de datos
<a name="v10-alerting-explore-rule-types-datasource"></a>

Para crear reglas de alertas administradas por orígenes de datos, 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.

En las alertas administradas por orígenes de datos:
+ Las reglas de alertas se crean y almacenan en el propio origen de datos.
+ Las reglas de alertas solo se pueden crear en función de los datos de Prometheus.
+ La evaluación y la entrega de las reglas de alertas se distribuyen en varios nodos para garantizar una alta disponibilidad y tolerancia a los errores.

## Elección de un tipo de regla de alertas
<a name="v10-alerting-explore-rule-types-choose"></a>

Al elegir qué tipo de regla de alertas utilizar, tenga en cuenta la siguiente comparación entre las reglas de alertas administradas por Grafana y las reglas de alertas administradas por el origen de datos.


| Característica | Regla de alerta administrada por Grafana | Regla de alerta administrada por Loki o Mimir | 
| --- | --- | --- | 
| Creación de reglas de alertas en función de datos de cualquiera de nuestros orígenes de datos compatibles | Sí | No: solo puede crear reglas de alertas en función de los datos de Prometheus. El origen de datos debe tener habilitada la API de reglas.  | 
| Combinación y coincidencia de orígenes de datos | Sí | No | 
| Compatibilidad para reglas de registros | No | Sí | 
| Adición de expresiones para transformar los datos y establecer condiciones de alertas | Sí | No | 
| Uso de imágenes en las notificaciones de alertas | Sí | No | 
| Escalado | Consumen más recursos, dependen de la base de datos y es probable que sufran errores transitorios. Solo se escalan verticalmente. | Guarde las reglas de alertas en el propio origen de datos y permita una escalabilidad “infinita”. Genere y envíe notificaciones de alerta desde la ubicación de los datos. | 
| Evaluación y entrega de reglas de alertas | La evaluación y la entrega de las reglas de alertas se llevan a cabo desde Grafana, mediante un administrador de alertas externo o ambos. | La evaluación de las reglas de alertas y la entrega de alertas están distribuidas, lo que significa que no hay un punto único de error. | 

# Reglas de registros
<a name="v10-alerting-explore-rule-recording"></a>

****  
Este tema de documentación está diseñado para los espacios de trabajo de Grafana que admiten la **versión 10.x de Grafana**.  
Para los espacios de trabajo de Grafana que admiten la versión 9.x de Grafana, consulte [Uso de la versión 9 de Grafana](using-grafana-v9.md).  
Para los espacios de trabajo de Grafana que admiten la versión 8.x de Grafana, consulte [Uso de la versión 8 de Grafana](using-grafana-v8.md).

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

La consulta de esta nueva serie temporal es más rápida, especialmente en el caso de los paneles, ya que consultan la misma expresión cada vez que se actualizan.

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

# Consultas y condiciones
<a name="v10-alerting-explore-rules-queries"></a>

****  
Este tema de documentación está diseñado para los espacios de trabajo de Grafana que admiten la **versión 10.x de Grafana**.  
Para los espacios de trabajo de Grafana que admiten la versión 9.x de Grafana, consulte [Uso de la versión 9 de Grafana](using-grafana-v9.md).  
Para los espacios de trabajo de Grafana que admiten la versión 8.x de Grafana, consulte [Uso de la versión 8 de Grafana](using-grafana-v8.md).

En Grafana, las consultas desempeñan un papel fundamental a la hora de obtener y transformar datos de fuentes de datos compatibles, que incluyen bases de datos como MySQL y PostgreSQL, bases de datos de series temporales como Prometheus, InfluxDB y Graphite, y servicios como Amazon, Azure Monitor y Google Cloud Monitoring. OpenSearch CloudWatch

Para obtener más información sobre los orígenes de datos admitidos, consulte [Orígenes de datos y Grafana Alerting](v10-alerting-overview-datasources.md).

El proceso de ejecución de una consulta implica definir el origen de datos, especificar los datos que se desean recuperar y aplicar los filtros o transformaciones pertinentes. Para crear estas consultas, se utilizan lenguajes de consulta o sintaxis específicos del origen de datos elegido.

En Alertas, se define una consulta para obtener los datos que quiere medir y una condición que debe cumplirse antes de que se active una regla de alertas.

Una regla de alertas consta de una o más consultas y expresiones que seleccionan los datos que se quieren medir.

Para obtener más información sobre las consultas y expresiones, consulte [Consulta y transformación de los datos](v10-panels-query-xform.md).

## Consultas al origen de datos
<a name="v10-alerting-explore-rules-queries-data-source-queries"></a>

Las consultas en Grafana se pueden aplicar de varias maneras, según el origen de datos y el lenguaje de consulta que se utilice. El editor de consultas de cada origen de datos proporciona una interfaz de usuario personalizada que le ayuda a escribir consultas que aprovechen sus capacidades únicas.

Debido a las diferencias entre los lenguajes de consulta, cada editor de consultas de orígenes de datos tiene un aspecto y un funcionamiento diferentes. Según el origen de datos, el editor de consultas puede proporcionar características de autocompletado, nombres de métricas, sugerencias de variables o una interfaz visual de creación de consultas.

Entre algunos de los tipos comunes de componentes de consulta se incluyen los siguientes: 

**Métricas o campos de datos**: indique las métricas o los campos de datos específicos que quiere recuperar, como el uso de la CPU, el tráfico de red o las lecturas de los sensores.

**Intervalo de tiempo**: defina el intervalo de tiempo para obtener datos, como la última hora, un día específico o un intervalo de tiempo personalizado.

**Filtros**: aplique los filtros para restringir los datos en función de criterios específicos, como filtrar los datos por una etiqueta, un host o una aplicación específicos.

**Agregaciones**: haga agregaciones de los datos para calcular métricas como promedios, sumas o recuentos durante un periodo determinado.

**Agrupación**: agrupe los datos por dimensiones o etiquetas específicas para crear vistas agregadas o desgloses.

**nota**  
Grafana no admite consultas de alertas con variables de plantilla. Hay más información disponible [aquí](https://community.grafana.com/t/template-variables-are-not-supported-in-alert-queries-while-setting-up-alert/2514) en los foros de Grafana Labs.

## Consultas de expresiones
<a name="v10-alerting-explore-rules-queries-expression-queries"></a>

En Grafana, una expresión se utiliza para hacer cálculos, transformaciones o agregaciones de los datos consultados del origen de datos. Le permite crear métricas personalizadas o modificar las métricas existentes en función de operaciones matemáticas, funciones o expresiones lógicas.

Al aprovechar las consultas de expresión, los usuarios pueden hacer tareas como calcular el cambio porcentual entre dos valores, aplicar funciones como las funciones logarítmicas o trigonométricas, agregar datos en intervalos de tiempo o dimensiones específicos e implementar la lógica condicional para gestionar diferentes escenarios.

En Alertas, solo puede utilizar expresiones para las reglas de alertas administradas por Grafana. Para cada expresión, puede elegir expresiones matemáticas, reducir y volver a muestrear. Se denominan reglas multidimensionales porque generan una alerta independiente para cada serie.

También puede utilizar una condición clásica, que crea una regla de alertas que activa una sola alerta cuando se cumple su condición. Como resultado, Grafana envía una sola alerta incluso cuando se cumplen las condiciones de alerta para varias series.

**nota**  
Las condiciones clásicas existen principalmente por motivos de compatibilidad y, si es posible, deben evitarse.

**Reducir**

Agrega los valores de las series temporales del intervalo de tiempo seleccionado en un solo valor.

**Matemático**

Realiza operaciones matemáticas de formato libre a partir de series temporales y datos numéricos. functions/operations Se puede utilizar para preprocesar los datos de serie temporal o para definir una condición de alerta para datos numéricos.

**Remuestreo**

Realinea un intervalo de tiempo con un nuevo conjunto de marcas temporales, lo que resulta útil cuando se comparan datos de serie temporal de distintos orígenes de datos en los que, de otro modo, las marcas temporales no se alinearían.

**Threshold**

Comprueba si los datos de serie temporal coinciden con la condición de umbral.

La expresión de umbral permite comparar dos valores individuales. Devuelve `0` cuando la condición es falsa y `1` si es verdadera. Ahora están disponibles las siguientes funciones de umbrales:
+ Está por encima de (x > y)
+ Está por debajo de (x < y)
+ Está en el intervalo de (x > y1 Y x < y2)
+ Está fuera del intervalo de (x < y1 Y x > y2)

**Condición clásica**

Comprueba si los datos de serie temporal coinciden con la condición de alerta.

**nota**  
Las consultas de expresiones de condición clásicas siempre generan solo una instancia de alertas, independientemente del número de series temporales que cumplan la condición. Las condiciones clásicas existen principalmente por motivos de compatibilidad y, si es posible, deben evitarse.

## Agregaciones
<a name="v10-alerting-explore-rules-queries-aggregations"></a>

Grafana Alerting proporciona las siguientes funciones de agregación para que pueda refinar aún más la consulta.

Estas funciones solo están disponibles para las expresiones **Reducir** y **Condición clásica**.


| Función | Expression | ¿Qué hace? | 
| --- | --- | --- | 
| avg | Reducir/Clásico | Muestra el promedio de los valores | 
| min | Reducir/Clásico | Muestra el valor más bajo | 
| max | Reducir/Clásico | Muestra el valor más alto | 
| sum | Reducir/Clásico | Muestra la suma de todos los valores | 
| count | Reducir/Clásico | Cuenta el número de valores en el resultado | 
| last | Reducir/Clásico | Muestra el último valor | 
| median | Reducir/Clásico | Muestra el valor medio | 
| diferencia | Classic | Muestra la diferencia entre el valor más reciente y el más antiguo | 
| diff\$1abs | Classic | Muestra el valor absoluto de diff | 
| percent\$1diff | Classic | Muestra el valor porcentual de la diferencia entre el valor más reciente y el más antiguo | 
| percent\$1diff\$1abs | Classic | Muestra el valor absoluto de percent\$1diff | 
| count\$1non\$1null | Classic | Muestra un recuento de los valores del conjunto de resultados que no son null | 

## Condición de alerta
<a name="v10-alerting-explore-rules-queries-alert-condition"></a>

Una condición de alerta es la consulta o expresión que determina si la alerta se activará o no en función del valor que arroje. Solo puede haber una condición que determine la activación de la alerta.

Una vez definidas las and/or expresiones de las consultas, elija una de ellas como condición de la regla de alerta.

Cuando los datos consultados cumplen la condición definida, Grafana activa la alerta asociada, que se puede configurar para enviar notificaciones a través de varios canales como el correo electrónico, Slack o. PagerDuty Las notificaciones le informan acerca de la condición que se cumple, lo que le permite tomar las medidas adecuadas o investigar el problema subyacente.

De forma predeterminada, la última expresión agregada se utiliza como condición de alertas.

## Umbral de recuperación
<a name="v10-alerting-explore-rules-queries-recovery-threshold"></a>

Para reducir el exceso de alertas fluctuantes, puede establecer un umbral de recuperación diferente del umbral de alertas.

Las alertas fluctuantes se producen cuando una métrica se sitúa cerca de la condición de umbral de alerta y pueden provocar cambios de estado frecuentes, lo que provoca que se generen demasiadas notificaciones.

Las reglas de alerta administradas por Grafana se evalúan durante un intervalo de tiempo específico. Durante cada evaluación, el resultado de la consulta se compara con el umbral establecido en la regla de alertas. Si el valor de una métrica supera el umbral, se activa una regla de alerta y se envía una notificación. Cuando el valor cae por debajo del umbral y hay una alerta activa para esta métrica, la alerta se resuelve y se envía otra notificación.

Crear una regla de alerta para una métrica inestable puede resultar complicado. Es decir, cuando el valor de una métrica está continuamente por encima y por debajo de un umbral. Esto se denomina fluctuación y da como resultado una serie de notificaciones de activación (resueltas) y un historial de estados de alertas inestables.

Por ejemplo, si tiene una alerta de latencia con un umbral de 1000 ms y el número fluctúa alrededor de 1000 (por ejemplo, 980 ->1010 -> 990 -> 1020, etc.), cada una de ellas activará una notificación.

Para solucionar este problema, puede establecer un umbral de recuperación (personalizado), que básicamente significa tener dos umbrales en lugar de uno. Se activa una alerta cuando se cruza el primer umbral y se resuelve únicamente cuando se cruza el segundo umbral.

Por ejemplo, puede establecer un umbral de 1000 ms y un umbral de recuperación de 900 ms. De esta manera, una regla de alertas solo dejará de activarse cuando esté por debajo de los 900 ms y se reduzca la fluctuación.

# Instancias de alerta
<a name="v10-alerting-rules-instances"></a>

****  
Este tema de documentación está diseñado para los espacios de trabajo de Grafana que admiten la **versión 10.x de Grafana**.  
Para los espacios de trabajo de Grafana que admiten la versión 9.x de Grafana, consulte [Uso de la versión 9 de Grafana](using-grafana-v9.md).  
Para los espacios de trabajo de Grafana que admiten la versión 8.x de Grafana, consulte [Uso de la versión 8 de Grafana](using-grafana-v8.md).

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 que CPUs observemos después de la primera evaluación, lo que permitirá que una sola regla informe del estado de cada CPU.

# Espacios de nombres, carpetas y grupos
<a name="v10-alerting-rules-grouping"></a>

****  
Este tema de documentación está diseñado para los espacios de trabajo de Grafana que admiten la **versión 10.x de Grafana**.  
Para los espacios de trabajo de Grafana que admiten la versión 9.x de Grafana, consulte [Uso de la versión 9 de Grafana](using-grafana-v9.md).  
Para los espacios de trabajo de Grafana que admiten la versión 8.x de Grafana, consulte [Uso de la versión 8 de Grafana](using-grafana-v8.md).

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 y carpetas**

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.

Un espacio de nombres contiene uno o varios grupos. Las reglas de un grupo se ejecutan secuencialmente a intervalos regulares. El intervalo predeterminado es de un minuto. Puede cambiar el nombre de los espacios de nombres y grupos de reglas de Grafana Mimi o Loki, y editar los intervalos de evaluación de los grupos.

**Grupos**

Las reglas de un grupo se ejecutan secuencialmente a intervalos periódicos, lo que significa que no se evaluará ninguna regla al mismo tiempo y por orden de aparición. El intervalo predeterminado es de un minuto. Puede cambiar el nombre de los espacios de nombres de las reglas de Grafana Mimir o Loki o de los espacios de nombres y grupos de reglas de Loki, y editar los intervalos de evaluación de los grupos.

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

**nota**  
Las reglas de alerta administradas por Grafana se evalúan de forma simultánea en lugar de secuencial.

# Evaluación de la regla de alerta
<a name="v10-alerting-rules-evaluation"></a>

****  
Este tema de documentación está diseñado para los espacios de trabajo de Grafana que admiten la **versión 10.x de Grafana**.  
Para los espacios de trabajo de Grafana que admiten la versión 9.x de Grafana, consulte [Uso de la versión 9 de Grafana](using-grafana-v9.md).  
Para los espacios de trabajo de Grafana que admiten la versión 8.x de Grafana, consulte [Uso de la versión 8 de Grafana](using-grafana-v8.md).

Utilice la evaluación de las reglas de alertas para determinar con qué frecuencia debe evaluarse una regla de alertas y con qué rapidez debe cambiar su estado.

Para ello, debe asegurarse de que la regla de alertas se encuentra en el grupo de evaluación correcto y establecer un periodo de tiempo pendiente que se adapte mejor a su caso de uso.

## Grupo de evaluación
<a name="v10-alerting-rules-evaluation-group"></a>

Cada regla de alerta forma parte de un grupo de evaluación. Cada grupo de evaluación contiene un intervalo de evaluación que determina la frecuencia con la que se comprueba la regla de alerta.

Las reglas de alerta **administradas por un origen de datos** del mismo grupo se evalúan una tras otra, mientras que las reglas de alerta de diferentes grupos se pueden evaluar simultáneamente. Esta característica resulta especialmente útil cuando se quiere garantizar que las reglas de registro se evalúen antes que cualquier regla de alerta.

Las reglas de alerta **administradas por Grafana** se evalúan al mismo tiempo, independientemente del grupo. El intervalo de evaluación predeterminado se establece en 10 segundos, lo que significa que las reglas de alerta administradas por Grafana se evalúan cada 10 segundos hasta la ventana de 10 segundos más cercana del reloj, por ejemplo, 10:00:00, 10:00:10, 10:00:20, etc. También puede configurar su propio intervalo de evaluación, si es necesario.

**nota**  
Los grupos de evaluación y la agrupación de alertas en las políticas de notificación son dos cosas distintas. La agrupación en las políticas de notificación permite enviar varias alertas que comparten las mismas etiquetas en el mismo mensaje de tiempo.

## Periodo pendiente
<a name="v10-alerting-rules-evaluation-pending-period"></a>

Al establecer un periodo pendiente, puede evitar alertas innecesarias por problemas temporales.

En el periodo pendiente, se selecciona el periodo en el que una regla de alerta puede infringir la condición hasta que se activa.

**Ejemplo**

Imagine que hay un intervalo de evaluación de la regla de alerta establecido cada 30 segundos y el periodo pendiente en 90 segundos.

La evaluación se hará de la siguiente manera:

[00:30] Primera evaluación: condición no cumplida.

[01:00] Segunda evaluación: condición infringida. El contador pendiente se inicia. **La alerta comienza como pendiente**.

[01:30] Tercera evaluación: condición infringida. Contador pendiente = 30 s. **Estado pendiente.**

[02:00] Cuarta evaluación: condición infringida. Contador pendiente = 60 s. **Estado pendiente**.

[02:30] Quinta evaluación: condición infringida. Contador pendiente = 90 s. **La alerta comienza a activarse**

Si la regla de alerta tiene una condición que debe infringirse durante un periodo determinado antes de actuar, su estado cambia de la siguiente manera:
+ Cuando se infringe la condición por primera vez, la regla pasa a un estado “pendiente”.
+ La regla permanece en el estado “pendiente” hasta que se haya infringido la condición durante el periodo requerido (periodo pendiente).
+ Una vez transcurrido el tiempo requerido, la regla pasa a un estado de “activación”.
+ Si la condición deja de infringirse durante el periodo pendiente, la regla vuelve a su estado normal.

**nota**  
Si quiere omitir el estado pendiente, simplemente puede establecer el periodo pendiente en 0. De esta forma, se omite el periodo pendiente y la regla de alerta empezará a activarse en cuanto se infrinja la condición.

Cuando se activa una regla de alerta, se generan instancias de alerta que, a continuación, se envían al Alertmanager.

# Estado de las reglas de alerta
<a name="v10-alerting-explore-state"></a>

****  
Este tema de documentación está diseñado para los espacios de trabajo de Grafana que admiten la **versión 10.x de Grafana**.  
Para los espacios de trabajo de Grafana que admiten la versión 9.x de Grafana, consulte [Uso de la versión 9 de Grafana](using-grafana-v9.md).  
Para los espacios de trabajo de Grafana que admiten la versión 8.x de Grafana, consulte [Uso de la versión 8 de Grafana](using-grafana-v8.md).

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

**Conservar último estado**

Se puede configurar una regla de alerta para mantener el último estado cuando se encuentre el estado `NoData` o `Error`. Esto evitará que las alertas se activen y que se resuelvan y se vuelvan a activar. Al igual que en una evaluación normal, la regla de alertas pasará de `Pending` a `Firing` una vez transcurrido el periodo pendiente.

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

# Plantillas de notificaciones
<a name="v10-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 10.x de Grafana**.  
Para los espacios de trabajo de Grafana que admiten la versión 9.x de Grafana, consulte [Uso de la versión 9 de Grafana](using-grafana-v9.md).  
Para los espacios de trabajo de Grafana que admiten la versión 8.x de Grafana, consulte [Uso de la versión 8 de Grafana](using-grafana-v8.md).

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](v10-alerting-manage-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.

# Alertmanager
<a name="v10-alerting-explore-alertmanager"></a>

****  
Este tema de documentación está diseñado para los espacios de trabajo de Grafana que admiten la **versión 10.x de Grafana**.  
Para los espacios de trabajo de Grafana que admiten la versión 9.x de Grafana, consulte [Uso de la versión 9 de Grafana](using-grafana-v9.md).  
Para los espacios de trabajo de Grafana que admiten la versión 8.x de Grafana, consulte [Uso de la versión 8 de Grafana](using-grafana-v8.md).

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 el 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 administrador de alertas interno preconfigurado y disponible para su selección de manera predeterminada.

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.

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

****  
Este tema de documentación está diseñado para los espacios de trabajo de Grafana que admiten la **versión 10.x de Grafana**.  
Para los espacios de trabajo de Grafana que admiten la versión 9.x de Grafana, consulte [Uso de la versión 9 de Grafana](using-grafana-v9.md).  
Para los espacios de trabajo de Grafana que admiten la versión 8.x de Grafana, consulte [Uso de la versión 8 de Grafana](using-grafana-v8.md).

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 Amazon SNS 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.

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 [Configuración de puntos de contacto](v10-alerting-configure-contactpoints.md) y [Personalización de las notificaciones](v10-alerting-manage-notifications.md).

# Notificaciones
<a name="v10-alerting-explore-notifications"></a>

****  
Este tema de documentación está diseñado para los espacios de trabajo de Grafana que admiten la **versión 10.x de Grafana**.  
Para los espacios de trabajo de Grafana que admiten la versión 9.x de Grafana, consulte [Uso de la versión 9 de Grafana](using-grafana-v9.md).  
Para los espacios de trabajo de Grafana que admiten la versión 8.x de Grafana, consulte [Uso de la versión 8 de Grafana](using-grafana-v8.md).

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](v10-alerting-explore-contacts.md), que definen dónde enviar las notificaciones de alertas. Un punto de contacto es un conjunto de una o más integraciones que se utilizan para enviar notificaciones. 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 sea 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.

## Instancias de Alertmanager
<a name="v10-alerting-explore-notifications-alertmanager"></a>

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 Alertmanagers, 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="v10-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 predeterminada. Solo puede haber una política predeterminada 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 anidada puede tener sus propias políticas anidadas, que permiten una mayor coincidencia de alertas. Un ejemplo de política anidada 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 predeterminada. Sin embargo, cuando la política predeterminada recibe una alerta, examina cada política anidada y envía la alerta a la primera política anidada que coincide con la alerta. Si la política anidada tiene más políticas anidadas, 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 en sí es la política coincidente. Si no hay políticas anidadas o ninguna política anidada coincide con la alerta, la política predeterminada es la política coincidente.

Para obtener información más detallada acerca de las políticas de notificaciones, consulte [Políticas de notificaciones](v10-alerting-explore-notifications-policies-details.md).

## Plantillas de notificaciones
<a name="v10-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.

Para obtener información más detallada acerca de la personalización de las notificaciones, consulte [Personalización de las notificaciones](v10-alerting-manage-notifications.md).

## Silencios
<a name="v10-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.

Para obtener información más detallada acerca del uso de los silencios, consulte [Silenciamiento de las notificaciones de alertas](v10-alerting-silences.md).

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

****  
Este tema de documentación está diseñado para los espacios de trabajo de Grafana que admiten la **versión 10.x de Grafana**.  
Para los espacios de trabajo de Grafana que admiten la versión 9.x de Grafana, consulte [Uso de la versión 9 de Grafana](using-grafana-v9.md).  
Para los espacios de trabajo de Grafana que admiten la versión 8.x de Grafana, consulte [Uso de la versión 8 de Grafana](using-grafana-v8.md).

Las políticas de notificaciones le proporcionan una forma flexible de dirigir las alertas a varios receptores diferentes. Con los criterios de coincidencia de etiquetas, puede modificar la entrega de las notificaciones de alertas sin tener que actualizar cada regla de alerta individual.

En esta sección, se presenta más información sobre cómo funcionan y están estructuradas las políticas de notificaciones, de modo que pueda aprovechar al máximo la configuración de las políticas de notificaciones.

## Árbol de políticas
<a name="v10-alerting-explore-notifications-policy-tree"></a>

Las políticas de notificaciones *no* son una lista, sino que se estructuran según una estructura de árbol. Esto significa que cada política puede tener políticas secundarias, etc. La raíz del árbol de políticas de notificaciones se denomina **política de notificaciones predeterminada**.

Cada política se compone de un conjunto de criterios de coincidencia de etiquetas (0 o más) que especifican qué etiquetas quieren gestionar o no.

Para obtener más información sobre la coincidencia de etiquetas, consulte [Cómo funciona la búsqueda de coincidencias de etiquetas](v10-alerting-overview-labels-matching.md).

**nota**  
Si no ha configurado ningún criterio de coincidencia de etiquetas para la política de notificaciones, esta coincidirá con *todas* las instancias de alertas. Esto puede evitar que se evalúen las políticas secundarias, a menos que haya activado la opción **Continuar con la coincidencia del mismo nivel** en la política de notificaciones.

## Enrutamiento
<a name="v10-alerting-explore-notifications-routing"></a>

Para determinar qué política de notificaciones gestionará qué instancias de alertas, debe empezar por analizar el conjunto de políticas de notificaciones existente. La política de notificaciones predeterminada debe ser la primera.

Si no se configura ninguna política distinta de la política predeterminada, la política predeterminada gestionará la instancia de alertas.

Si se definen políticas distintas de la política predeterminada, evaluará esas políticas de notificaciones en el orden en que se muestran.

Si una política de notificaciones tiene criterios de coincidencia de etiquetas que coinciden con las etiquetas de la instancia de alertas, pasará a sus políticas secundarias y, si las hubiera, seguirá buscando políticas secundarias que puedan tener criterios de coincidencia de etiquetas que reduzcan aún más el conjunto de etiquetas, y así sucesivamente hasta que no se encuentren más políticas secundarias.

Si no se define ninguna política secundaria en una política de notificaciones o si ninguna de las políticas secundarias tiene criterios de coincidencia de etiquetas que coincidan con las etiquetas de la instancia de alertas, se utiliza la política de notificaciones principal.

En cuanto se encuentra una política coincidente, el sistema deja de buscar otras políticas coincidentes. Si quiere seguir buscando otras políticas que puedan coincidir, habilite **Continuar con la coincidencia del mismo nivel** en esa política concreta.

Por último, si no se selecciona ninguna de las políticas de notificaciones, se utilizará la política de notificaciones predeterminada.

### Enrutamiento de ejemplo
<a name="v10-alerting-explore-notifications-routing-example"></a>

A continuación, se muestra un ejemplo de un árbol de políticas de notificaciones relativamente simple y de algunas instancias de alertas.

![\[Imagen que muestra un conjunto de políticas de notificaciones en una estructura de árbol y un conjunto de instancias de alertas con distintas etiquetas para que coincidan con las políticas.\]](http://docs.aws.amazon.com/es_es/grafana/latest/userguide/images/notification-routing.png)


A continuación, se muestra un desglose de cómo se seleccionan estas políticas:

El **pod stuck in CrashLoop** no tiene `severity` etiqueta, por lo que ninguna de sus políticas para niños coincide. Tiene una etiqueta `team=operations`, por lo que la primera política coincide.

La política `team=security` no se evalúa porque ya hemos encontrado una coincidencia y la opción **Continuar con la coincidencia del mismo nivel** no está configurada para esa política.

**Uso del disco: 80 %** tiene una etiqueta `team` y `severity` y coincide con una política secundaria del equipo de operaciones.

**Entrada de registro no autorizada** tiene una etiqueta `team`, pero no coincide con la primera política (`team=operations`), ya que los valores no son los mismos, por lo que seguirá buscando y coincidirá con la política `team=security`. No tiene políticas secundarias, por lo que se ignora la etiqueta `severity=high` adicional.

## Herencia
<a name="v10-alerting-explore-notifications-inheritance"></a>

Las políticas secundarias, además de ser un concepto útil para enrutar las instancias de alertas, también heredan propiedades de su política principal. Esto también se aplica a cualquier política que sea secundaria a la política de notificaciones predeterminada.

Las políticas secundarias heredan las siguientes propiedades:
+ Punto de contacto
+ Opciones de agrupación
+ Opciones de temporización
+ Temporizadores de silencio

Una política individual puede sobrescribir cada una de estas propiedades si desea anular las propiedades heredadas.

Para heredar un punto de contacto de la política principal, déjelo en blanco. Para anular las opciones de agrupación heredadas, habilite **Anular agrupación**. Para anular las opciones de temporización heredadas, habilite **Anular temporizadores generales**.

### Ejemplo de herencia
<a name="v10-alerting-explore-notifications-inheritance-example"></a>

El siguiente ejemplo muestra cómo el árbol de políticas de notificaciones de nuestro ejemplo anterior permite que las políticas secundarias de `team=operations` hereden su punto de contacto.

De esta forma, podemos evitar tener que especificar el mismo punto de contacto varias veces para cada política secundaria.

![\[Una imagen que muestra un conjunto de políticas de notificaciones en una estructura de árbol, con puntos de contacto asignados a algunas de las políticas, pero algunas políticas secundarias heredan los puntos de contacto de sus políticas principales, en lugar de definir los suyos propios.\]](http://docs.aws.amazon.com/es_es/grafana/latest/userguide/images/notification-inheritance.png)


## Opciones de configuración adicionales
<a name="v10-alerting-explore-notifications-additional-configuration-options"></a>

### Agrupación
<a name="v10-alerting-explore-notifications-grouping"></a>

La agrupación es una característica importante de Grafana Alerting, ya que le permite agrupar las alertas relevantes en un número menor de notificaciones. Esto es especialmente importante si las notificaciones se envían a los primeros responsables, como los ingenieros de guardia, ya que recibir muchas notificaciones en un periodo corto puede resultar abrumador y, en algunos casos, puede afectar negativamente a la capacidad de los primeros responsables para responder a un incidente. Por ejemplo, pensemos en una interrupción importante en la que muchos de los sistemas están inactivos. En este caso, la agrupación puede marcar la diferencia entre recibir 1 llamada telefónica y 100 llamadas telefónicas.

Usted elige cómo se agrupan las alertas mediante la opción Agrupar por de una política de notificaciones. De manera predeterminada, las políticas de notificaciones de Grafana agrupan las alertas por regla de alertas mediante las etiquetas `alertname` y `grafana_folder` (ya que los nombres de las alertas no son únicos en varias carpetas). Si desea agrupar las alertas por algo distinto a la regla de alerta, cambie la agrupación por cualquier otra combinación de etiquetas.

#### Deshabilitación de grupos
<a name="v10-alerting-explore-notifications-disable-grouping"></a>

Si desea recibir cada alerta como una notificación independiente, agrupe según una etiqueta especial llamada `...`. Esto resulta útil cuando las alertas se envían a un sistema automatizado en lugar de a un primer responsable.

#### Un solo grupo para todas las alertas
<a name="v10-alerting-explore-notifications-a-single-group-for-all-alerts"></a>

Si desea recibir todas las alertas juntas en una sola notificación, deje en blanco la opción Agrupar por.

### Opciones de temporización
<a name="v10-alerting-explore-notifications-timing-options"></a>

Las opciones de temporización deciden la frecuencia con la que se envían las notificaciones para cada grupo de alertas. Hay tres temporizadores que debe conocer: espera grupal, intervalo grupal e intervalo de repetición.

#### Espera grupal
<a name="v10-alerting-explore-notifications-group-wait"></a>

La espera grupal es la cantidad de tiempo que Grafana espera antes de enviar la primera notificación de un nuevo grupo de alertas. Cuanto más larga sea la espera grupal, más tiempo tendrá para que lleguen otras alertas. Cuanto más corta sea la espera grupal, antes se enviará la primera notificación, pero se corre el riesgo de que se envíen notificaciones incompletas. Siempre debe elegir la espera grupal que mejor se adapte a su caso de uso.

**Valor predeterminado**: 30 segundos.

#### Intervalo grupal
<a name="v10-alerting-explore-notifications-group-interval"></a>

Una vez que se ha enviado la primera notificación para un nuevo grupo de alertas, Grafana inicia el temporizador de intervalos grupales. Esta es la cantidad de tiempo que Grafana espera antes de enviar notificaciones sobre cambios en el grupo. Por ejemplo, es posible que se haya agregado otra alerta de activación al grupo y que se haya resuelto una alerta existente. Si una alerta llegó demasiado tarde para incluirse en la primera notificación debido a la espera grupal, se incluirá en las notificaciones subsiguientes después del intervalo grupal. Una vez transcurrido el intervalo grupal, Grafana restablece el temporizador de intervalo grupal. Esto se repite hasta que no haya más alertas en el grupo, tras lo cual se elimina el grupo.

**Valor predeterminado**: 5 minutos

#### Intervalo de repetición
<a name="v10-alerting-explore-notifications-repeat-interval"></a>

El intervalo de repetición decide la frecuencia con la que se repiten las notificaciones si el grupo no ha cambiado desde la última notificación. Puede considerarlas como recordatorios de que algunas alertas siguen activándose. El intervalo de repetición está estrechamente relacionado con el intervalo grupal, lo que significa que el intervalo de repetición no solo debe ser mayor o igual que el intervalo grupal, sino que también debe ser un múltiplo del intervalo grupal. Si el intervalo de repetición no es un múltiplo del intervalo grupal, se convertirá en uno. Por ejemplo, si el intervalo grupal es de 5 minutos y el intervalo de repetición es de 9 minutos, el intervalo de repetición se redondeará al múltiplo de 5 más cercano, que es 10 minutos.

**Valor predeterminado**: 4 horas

# Alertas de alta disponibilidad
<a name="v10-alerting-explore-high-availability"></a>

****  
Este tema de documentación está diseñado para los espacios de trabajo de Grafana que admiten la **versión 10.x de Grafana**.  
Para los espacios de trabajo de Grafana que admiten la versión 9.x de Grafana, consulte [Uso de la versión 9 de Grafana](using-grafana-v9.md).  
Para los espacios de trabajo de Grafana que admiten la versión 8.x de Grafana, consulte [Uso de la versión 8 de Grafana](using-grafana-v8.md).

Amazon Managed Grafana se ha configurado para ofrecer alta disponibilidad, lo que incluye la ejecución de varias instancias en varias zonas de disponibilidad para cada espacio de trabajo que cree.

Grafana Alerting utiliza el modelo de Prometheus que separa la evaluación de las reglas de alertas de la entrega de notificaciones. En este modelo, la evaluación de las reglas de alertas se lleva a cabo en el generador de alertas y la entrega de notificaciones se lleva a cabo en el receptor de alertas. En Grafana Alerting, el generador de alertas es el Programador y el receptor es el Alertmanager.

Con las configuraciones de alta disponibilidad, todas las reglas de alertas se evalúan en todas las instancias. Puede pensar en la evaluación de las reglas de alerta como si estuviera duplicada. Así es como Grafana Alerting garantiza que, mientras funcione al menos una instancia de Grafana, se seguirán evaluando las reglas de alertas y se seguirán enviando notificaciones de alertas. Verá esta duplicación en el historial del estado y es una buena manera de saber si utiliza la alta disponibilidad.