如果在任何时间点 metricX 的百分比下降超过 70% 并持续 5 分钟,则生成警报

Generate alert if percentage drop is more than 70% for metricX at any point of time for 5 mins

我想生成警报,例如,当计数器 metricX 在任何时间点下降超过 70% 并持续 5 分钟时。

以下是我生成警报的规则 YAML 文件:

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%

我想查看一些指南,了解如何在规则文件中编写 promQL 表达式来测量 5 分钟内任意时间点的 metricX 百分比下降。

尝试以下查询:

rate(metricX[2m]) < 0.7 * (rate(metricX[2m] offset 5m))

在理解promql之后,这是我实现的简单形式,满足了我的要求。

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

MetricX是计数器。因此,我使用 rate 来计算下降百分比。我的普罗米修斯 scrape_interval 是 1 分钟。因此,倾角是在 2 分钟内计算的 接下来是 5 分钟。

我希望这对其他人有帮助。