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

如何在Prometheus中整月监控特定服务总资源消耗(不受Pod变动影响)

解决Prometheus中服务级CPU/内存总消耗监控问题

核心思路是通过服务关联的唯一标签聚合所有Pod的指标,忽略单个Pod的生命周期变化,直接统计属于同一服务的所有Pod资源总和。

CPU总消耗查询

  • 实时CPU使用率(总核数):
sum(rate(container_cpu_usage_seconds_total{namespace="你的命名空间", app="你的服务名"}[1m]))

rate计算1分钟内的CPU使用率平均速率,sum聚合所有匹配标签的Pod数据,Pod重启或Deployment更新后,新Pod只要带相同标签就会自动纳入统计。

  • CPU请求/限制总和(资源分配统计):
sum(kube_pod_container_resource_requests_cpu_cores{namespace="你的命名空间", app="你的服务名"})
sum(kube_pod_container_resource_limits_cpu_cores{namespace="你的命名空间", app="你的服务名"})

内存总消耗查询

  • 实时内存使用总量(字节,实际工作集):
sum(container_memory_working_set_bytes{namespace="你的命名空间", app="你的服务名"})

container_memory_working_set_bytes反映容器当前实际占用的内存(含缓存、不含swap),sum聚合后得到服务整体内存消耗,不受Pod生命周期影响。

  • 内存请求/限制总和(资源分配统计):
sum(kube_pod_container_resource_requests_memory_bytes{namespace="你的命名空间", app="你的服务名"})
sum(kube_pod_container_resource_limits_memory_bytes{namespace="你的命名空间", app="你的服务名"})

注意事项

  • 标签选择:必须使用能唯一标识服务的标签(如app、service或自定义业务标签),确保所有属于该服务的Pod都带有此标签。
  • 按需调整:可根据实际环境移除namespace过滤,或替换标签为环境中使用的标识(如deployment标签)。

内容的提问来源于stack exchange,提问作者Rainbird

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 09:21:03