View a markdown version of this page

Uso de PromQL en las alarmas - Amazon CloudWatch

Uso de PromQL en las alarmas

Puede crear alarmas de CloudWatch que utilicen consultas PromQL para supervisar sus métricas. Las alarmas PromQL evalúan una expresión PromQL y activan cambios de estado de alarma en función de los resultados de la consulta.

Para obtener más información sobre los conceptos relativos a las alarmas, consulte Conceptos.

Para obtener más información sobre las consultas de datos de alarmas, consulte Consultas de datos de alarmas.

Para obtener más información sobre las acciones de alarmas, consulte Acciones de la alarma.

Para obtener más información sobre los límites de las alarmas, consulte Límites.

Creación de una alarma PromQL

Puede crear una alarma PromQL desde la consola de CloudWatch, la AWS CLI o la API de CloudWatch.

Para crear una alarma PromQL desde la consola de
  1. Abra la consola de CloudWatch.

  2. En el panel de navegación, elija Alarms (Alarmas) y, luego, Create Alarm (Crear alarma).

  3. Elija Crear alarma.

  4. Elija Seleccionar métrica y, a continuación, elija la pestaña PromQL.

  5. Ingrese su consulta PromQL. La consulta debe devolver una sola serie temporal para que la alarma la evalúe.

  6. Configure las condiciones de la alarma, como el umbral, el periodo de evaluación y los puntos de datos que la alarma deba notificar.

  7. Configure las acciones de alarma, como las notificaciones de Amazon SNS.

  8. Ingrese un nombre y una descripción para la alarma y, a continuación, elija Crear alarma.

También puede crear una alarma PromQL directamente en Puesta en marcha de consultas PromQL en Query Studio (versión preliminar) después de hacer una consulta que devuelva una sola serie temporal.

Creación de una alarma de CloudWatch con PromQL para detectar anomalías

Puede crear una alarma PromQL que se active cuando una métrica supere un rango esperado definido por los límites estadísticos. La consulta de alarma combina los límites superior e inferior en una sola expresión que devuelve solo los puntos de datos anómalos. Cualquier serie temporal devuelta por la consulta se considera infractora.

La siguiente expresión de ejemplo detecta cuando una métrica de solicitud de anuncios supera las 3 desviaciones estándar de la mediana en un periodo de 60 minutos:

1 * {"app.ads.ad_requests"} > quantile_over_time(0.5, {"app.ads.ad_requests"}[60m] offset 1m) + 3 * stddev_over_time({"app.ads.ad_requests"}[60m] offset 1m) or 1 * {"app.ads.ad_requests"} < clamp_min( quantile_over_time(0.5, {"app.ads.ad_requests"}[60m] offset 1m) - 3 * stddev_over_time({"app.ads.ad_requests"}[60m] offset 1m), 0)

Esta expresión funciona con varios valores de etiqueta, por lo que la alarma puede rastrear las anomalías en toda su flota. Cada serie temporal infractora se registra como un colaborador independiente. Para obtener más información sobre cómo las alarmas PromQL evalúan los colaboradores, consulte Alarmas PromQL.

Puede ajustar el multiplicador y el intervalo de tiempo para adaptarlos al comportamiento de su métrica. Un multiplicador más alto produce límites más amplios con menos falsos positivos. Un intervalo de tiempo más largo suaviza los picos a corto plazo. La función clamp_min evita que el límite inferior pase a ser negativo en el caso de las métricas que no pueden tener valores negativos.

Para obtener más información sobre la creación de bandas de detección de anomalías con PromQL, consulte Detección de anomalías con PromQL.