You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Prometheus动态Pod指标求和:多折线合并为单折线的查询方法

解决动态Pod指标求和问题

针对你遇到的动态Pod指标聚合需求,这里提供两种场景的PromQL解决方案:

场景1:统计时间区间内所有Pod的消息增量总和

如果application_my_messages_total是计数器类型(以_total结尾的指标通常为计数器),更合理的做法是统计每个时间区间内的消息增量总和,包含已被删除的Pod在其存在期间的贡献:

sum(increase(application_my_messages_total{namespace="my_namespace"}[$__interval]))
  • increase()计算单个Pod指标在指定时间区间内的增量
  • sum()将所有符合条件的Pod增量求和,自动忽略pod UUID标签的差异
  • $__interval是Grafana自动适配图表时间粒度的变量,非Grafana环境可手动替换为固定区间(如5m、1m)

场景2:统计每个时间点所有Pod的指标绝对值总和(包含已删除Pod的最后值)

如果需要获取每个时间点所有Pod的指标绝对值总和,且包含已删除Pod的最后一次记录值:

sum(last_over_time(application_my_messages_total{namespace="my_namespace"}[$__range]))
  • last_over_time()获取每个Pod在图表整个时间范围内的最后一个样本值
  • sum()将所有Pod的最后值求和,确保已删除Pod的历史数据也被计入

为什么原始查询会显示多条折线?

原始查询application_my_messages_total{namespace="my_namespace"}会保留所有标签组合,每个Pod的pod UUID是唯一标签,因此Prometheus会为每个Pod生成单独的折线。使用sum()聚合后,会自动去除不参与聚合的标签(如pod),将所有时间序列合并为单条折线。

内容的提问来源于stack exchange,提问作者Ann-Christin Lindras

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 08:37:01