首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >普罗米修斯-计算增加的百分比

普罗米修斯-计算增加的百分比
EN

Stack Overflow用户
提问于 2021-09-02 15:33:06
回答 1查看 218关注 0票数 2

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

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

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

代码语言:javascript
运行
复制
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)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-09-02 16:11:18

如果您当前使用以下查询来计算该值:

代码语言:javascript
运行
复制
count by(topic) (kafka_burrow_topic_partition_offset{topic=~".+__deadletter__.+my-subscription-name.+"})

然后,可以通过将offset 5m添加到查询来计算5分钟前的值:

代码语言:javascript
运行
复制
count by(topic) (kafka_burrow_topic_partition_offset{topic=~".+__deadletter__.+my-subscription-name.+"} offset 5m)

请注意,在上面的查询中,offset修饰符必须紧跟在大括号后面。有关这方面的更多详细信息,请参阅these docs

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

代码语言:javascript
运行
复制
(
  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查询:

代码语言:javascript
运行
复制
with (
  q = count by (topic) (
    kafka_burrow_topic_partition_offset{topic=~".+__deadletter__.+my-subscription-name.+"}
  )
)
(q - q offset 5m) / (q offset 5m) * 100
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69033232

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档