【问题标题】:Generate alert if percentage drop is more than 70% for metricX at any point of time for 5 mins如果 metricX 在任何时间点 5 分钟内百分比下降超过 70%,则生成警报
【发布时间】:2021-02-24 17:12:25
【问题描述】:

我想生成警报,例如当计数器 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 百分比下降的指南。

【问题讨论】:

    标签: prometheus prometheus-alertmanager promql prometheus-operator


    【解决方案1】:

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

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

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

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

    【讨论】:

      【解决方案2】:

      尝试以下查询:

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

      【讨论】:

      • 您的答案不正确,因为您没有包含rate 函数。没有它,您将不知道价值随时间的变化。在这种情况下,平均。每秒的增长率。如果度量标准,那么您将使用deltaidelta
      • 感谢指点!在答案中添加了rate()
      猜你喜欢
      • 2023-04-05
      • 1970-01-01
      • 2020-10-16
      • 1970-01-01
      • 2018-07-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多