【问题标题】:Prometheus - calculating the percentage increasePrometheus - 计算百分比增加
【发布时间】:2021-11-01 02:31:31
【问题描述】:

我对使用 Prometheus 指标非常陌生,有人要求我根据值在过去五分钟内是否增加了 10% 来编写警报。

为了更简洁,当我的 Kafka 主题死信数在 5 分钟内增加 10% 时,我必须报告。

我可以使用这个查询来计算主题/子的当前死信:

count by(topic) (kafka_burrow_topic_partition_offset{topic=~".+__deadletter__.+my-subscription-name.+"})

我现在需要做的是从 5 分钟前得到相同的数字,然后计算从那时到现在的百分比增加:

Percentage Increase = [ (Final Value - Starting Value) / |Starting Value| ] × 100

谁能指导我如何计算百分比差异?

我见过这样的例子,但不能让它为我工作: (sum by(topic) (increase(kafka_burrow_topic_partition_offset{topic=~".+__deadletter__.+"}[5m])) > 0)

【问题讨论】:

    标签: apache-kafka prometheus metrics


    【解决方案1】:

    如果您使用以下查询来计算此刻的值:

    count by(topic) (kafka_burrow_topic_partition_offset{topic=~".+__deadletter__.+my-subscription-name.+"})
    

    那么可以通过将offset 5m添加到查询中来计算5分钟前的值:

    count by(topic) (kafka_burrow_topic_partition_offset{topic=~".+__deadletter__.+my-subscription-name.+"} offset 5m)
    

    请注意,offset 修饰符必须紧跟在上述查询中的大括号后。请参阅these docs 了解更多详情。

    鉴于此,以下查询将显示该值在过去 5 分钟内的百分比增长:

    (
      count by (topic) (
        kafka_burrow_topic_partition_offset{topic=~".+__deadletter__.+my-subscription-name.+"}
      ) - count by (topic) (
        kafka_burrow_topic_partition_offset{topic=~".+__deadletter__.+my-subscription-name.+"} offset 5m
      )
    ) / count by (topic) (
      kafka_burrow_topic_partition_offset{topic=~".+__deadletter__.+my-subscription-name.+"} offset 5m
    ) * 100
    

    附:请注意,查询包含多个重复部分。这些部分可以使用 VictoriaMetrics 的 with templates 简化为以下 MetricsQL 查询:

    with (
      q = count by (topic) (
        kafka_burrow_topic_partition_offset{topic=~".+__deadletter__.+my-subscription-name.+"}
      )
    )
    (q - q offset 5m) / (q offset 5m) * 100
    

    【讨论】:

    • 完美!我能够根据需要完成这项工作!谢谢@valyala
    • 注意:“with”语句出现错误Error executing query: 3:6: parse error: unexpected "="
    • with 语法不适用于 Prometheus - 它适用于 VictoriaMetrics
    猜你喜欢
    • 2021-06-30
    • 1970-01-01
    • 2010-10-13
    • 1970-01-01
    • 2018-10-16
    • 1970-01-01
    • 2011-06-01
    • 2021-01-10
    相关资源
    最近更新 更多