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

如何在Prometheus中按namespace和application标签过滤求和Pod CPU使用率?

解决Prometheus按Namespace+Pod标签过滤计算CPU使用率总和的问题

你之前的写法错误在于直接把另一个指标kube_pod_labels嵌套到CPU使用率指标的标签过滤器中,PromQL不支持这种语法。要实现按application=my-app标签过滤,有两种可行方案:

方案一:如果CPU指标本身带有目标标签

如果你的node_namespace_pod_container:container_cpu_usage_seconds_total:sum_irate指标已经继承了Pod的application标签(部分采集配置会自动同步Pod标签到容器监控指标),直接添加标签过滤即可:

sum(node_namespace_pod_container:container_cpu_usage_seconds_total:sum_irate{namespace='my-namespace', application='my-app'}) by (pod)

方案二:通过kube-state-metrics指标关联过滤

如果CPU指标本身没有application标签,需要借助kube_pod_labels(由kube-state-metrics提供)指标,通过共同的pod和namespace标签关联过滤:

sum(
  node_namespace_pod_container:container_cpu_usage_seconds_total:sum_irate{namespace='my-namespace'}
  and on(pod, namespace)
  kube_pod_labels{namespace='my-namespace', label_application='my-app'}
) by (pod)

这里的and on(pod, namespace)表示只保留在两个指标中pod和namespace标签完全匹配的样本,从而实现按Pod的application标签过滤的效果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 08:59:57