Me gustaría generar una alerta, por ejemplo, cuando el contador metricX cae más del 70% en cualquier momento durante 5 minutos.

Lo siguiente sería mi archivo YAML de reglas para generar una alerta:

groups:
- name: MetricX dip
  rules:
  - alert: MetricX dip by more than 70%
    expr: 
    for: 0m
    labels:
      severity: warning
    annotations:
      descriptions: MetricX has been dropped by more than 70%

Me gustaría ver alguna guía sobre cómo puedo escribir expresiones promQL en el archivo de reglas para medir la caída en el porcentaje de metricX en cualquier momento durante 5 minutos.

1
Santosh M. 24 feb. 2021 a las 20:12

2 respuestas

La mejor respuesta

Después de comprender promql a fondo, esto es lo que implementé en forma simple que satisface mi requisito.

(-100 * rate(MetricX[2m]) / rate(MetricX[5m] offset 1m)) > 70 

MetricX es un contador. Entonces, usé rate para calcular la caída en porcentaje. Mi prometheus scrape_interval es de 1 min. Entonces, la inmersión se calcula en 2 minutos. que sigue a 5 minutos.

Espero que esto ayude a otras personas.

1
Santosh M. 10 mar. 2021 a las 03:50

Pruebe la siguiente consulta:

rate(metricX[2m]) < 0.7 * (rate(metricX[2m] offset 5m))
-1
valyala 11 mar. 2021 a las 10:38