View a markdown version of this page

Creación de una alarma mediante una consulta PromQL - Amazon CloudWatch

Creación de una alarma mediante una consulta PromQL

Puede crear una alarma de CloudWatch que utilice una consulta instantánea PromQL para supervisar las métricas ingeridas a través del punto de conexión OTLP de CloudWatch. Todas las series temporales coincidentes devueltas por la consulta se consideran infractoras, y la alarma registra cada serie temporal infractora como colaborador. Para obtener más información sobre cómo funcionan las alarmas de PromQL, consulte Alarmas PromQL.

Creación de una alarma PromQL mediante Consola de administración de AWS

En este ejemplo, se muestra cómo crear una alarma que supervisa una métrica de un indicador y le avisa cuando su valor cae por debajo de 20.

Para crear una alarma PromQL
  1. Abra la consola de CloudWatch en https://console.aws.amazon.com/cloudwatch/.

  2. En el panel de navegación, elija Alarms (Alarmas) y, a continuación, All Alarms (Todas las alarmas).

  3. Elija Crear alarma.

  4. Elija PromQL como tipo de métrica.

  5. En el modo Editor, ingrese la consulta PromQL:

    my_gauge_metric < 20
  6. En Conditions (Condiciones), especifique lo siguiente:

    • En Intervalo de evaluación, elija 1 minute, para definir la frecuencia con la que se evalúa la consulta PromQL.

    • En Periodo pendiente, ingrese 120, la duración, en segundos, durante la cual un colaborador debe estar en incumplimiento antes de pasar al estado ALARM.

    • En Periodo de recuperación, ingrese 300, la duración, en segundos, durante la cual un colaborador debe estar en cumplimiento antes de pasar al estado OK.

  7. Configure las notificaciones y las acciones según sea necesario.

  8. Añada un nombre y una descripción para la alarma.

  9. Elija Siguiente.

  10. Elija Crear alarma.

Creación de una alarma PromQL (AWS CLI)

Utilice la acción de la API PutMetricAlarm para crear una alarma PromQL.

ejemplo Creación de una alarma PromQL que se active cuando la métrica de un indicador caiga por debajo de 20
aws cloudwatch put-metric-alarm \ --alarm-name MyPromQLAlarm \ --evaluation-criteria '{"PromQLCriteria":{"Query":"my_gauge_metric < 20"}}' \ --evaluation-interval 60
ejemplo Creación de una alarma PromQL con un periodo pendiente

Esta alarma espera 300 segundos (5 minutos) antes de pasar al estado ALARM y espera 600 segundos (10 minutos) antes de recuperarse.

aws cloudwatch put-metric-alarm \ --alarm-name HighLatencyAlarm \ --evaluation-criteria '{"PromQLCriteria":{"Query":"histogram_quantile(0.99, rate(http_request_duration_seconds_bucket[5m])) > 0.5","PendingPeriod":300,"RecoveryPeriod":600}}' \ --evaluation-interval 60
ejemplo Creación de una alarma PromQL con una acción de notificación de SNS
aws cloudwatch put-metric-alarm \ --alarm-name MyPromQLAlarmWithAction \ --evaluation-criteria '{"PromQLCriteria":{"Query":"my_gauge_metric < 20","PendingPeriod":0,"RecoveryPeriod":0}}' \ --evaluation-interval 60 \ --alarm-actions arn:aws:sns:us-east-1:123456789012:MyTopic

Creación de una alarma PromQL desde Query Studio

En este ejemplo se muestra cómo crear una alarma PromQL desde Query Studio que le avise cuando la duración media de la solicitud HTTP de un servicio supere los 500 milisegundos.

A diferencia de las alarmas estándar de CloudWatch, en las que el umbral se configura como un paso independiente, las alarmas PromQL definen la condición de alarma (umbral) como parte de la propia consulta. Por ejemplo, el operador de comparación (>) y el valor umbral (0.5) están integrados directamente en la expresión PromQL.

Para crear una alarma PromQL desde Query Studio
  1. Abra la consola de CloudWatch en https://console.aws.amazon.com/cloudwatch/.

  2. En el panel de navegación, debajo de Metricas, elija Query Studio (versión preliminar).

  3. Seleccione PromQL en el menú desplegable de lenguajes de consulta.

  4. Cree la consulta usando uno de los siguientes modos:

    • En el modo Generador, seleccione un nombre de métrica en el campo Métrica (por ejemplo, http.server.request.duration). Agregue filtros de etiquetas según sea necesario (por ejemplo, @resource.service.name = my-api). Para definir el umbral de alarma, seleccione una Operación básica (por ejemplo, >) e ingrese un Número (por ejemplo, 0.5).

    • En el modo Código, ingrese directamente la expresión PromQL, por ejemplo:

      histogram_avg({"http.server.request.duration", "@resource.service.name"="my-api"}) > 0.5
  5. Elija Ejecutar para poner en marcha la consulta y comprobar que devuelva los resultados esperados.

  6. En el menú de acciones, seleccione Crear alarma.

  7. Se le redirigirá a la página de creación de alarmas de CloudWatch con la consulta PromQL rellenada previamente.

  8. En Conditions (Condiciones), especifique lo siguiente:

    • En Intervalo de evaluación, elija 1 minute, para definir la frecuencia con la que se evalúa la consulta PromQL.

    • En Periodo pendiente, ingrese 60, la duración, en segundos, durante la cual la consulta debe estar en incumplimiento antes de pasar al estado ALARM. Esto significa que la latencia debe superar el umbral durante al menos 60 segundos antes de que se active la alarma.

    • En Periodo de recuperación, ingrese 120, la duración, en segundos, durante la cual la consulta debe estar en cumplimiento antes de pasar al estado OK. Esto significa que la latencia debe permanecer por debajo del umbral durante al menos 120 segundos antes de que la alarma se recupere.

  9. Configure las notificaciones y las acciones según sea necesario.

  10. Añada un nombre y una descripción para la alarma.

  11. Elija Siguiente.

  12. Elija Crear alarma.

nota

La consulta PromQL debe devolver una sola serie temporal para crear una alarma. Si la consulta devuelve varias series temporales, utilice funciones de agregación como sum, avg o topk para reducir el resultado a una sola serie antes de crear la alarma.