【问题标题】:如何在 Grafana 中减去一个指标的两个分组总和
【发布时间】:2022-01-20 09:56:49
【问题描述】:

我有一个指标kafka_skipped_consumer_message,我想得到最大当前值和偏移$ __范围的最大值之间的差

我找到当前最大值

sum by (service, version, topic, group)(max(kafka_skipped_consumer_message{server=~"$server",service=~"$service",version=~"$version",namespace=~"$namespace"}))

以及带有偏移量的最大值

sum by (service, version, topic, group)(max(kafka_skipped_consumer_message{server=~"$server",service=~"$service",version=~"$version",namespace=~"$namespace"} offset $__range))

然后我尝试减去它们,但我没有得到我期望的结果。

sum by (service, version, topic, group)(max(kafka_skipped_consumer_message{server=~"$server",service=~"$service",version=~"$version",namespace=~"$namespace"})) - sum by (service, version, topic, group)(max(kafka_skipped_consumer_message{server=~"$server",service=~"$service",version=~"$version",namespace=~"$namespace"} offset $__range))

数据

结果

【问题讨论】:

  • 似乎是正确的,你期待什么?

标签: prometheus grafana metrics


【解决方案1】:

尝试以下方法:

sum by (service, version, topic, group)(delta(kafka_skipped_consumer_message{server=~"$server",service=~"$service",version=~"$version",namespace=~"$namespace"}[$__range]))

它应该返回当前值与过去$__range 偏移处的值之间的差,按以下标签分组:(service, version, topic, group)。它使用delta() function 计算在方括号中指定的给定偏移量处当前值与过去值之间的度量差异。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-05-21
    • 2017-12-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多