如何修改PromQL查询以获取单个服务下所有Pod的CPU使用总量?
修改PromQL获取特定服务下所有Pod CPU使用总量的方法
核心修改要点
- 删掉原语句里指定单个Pod的
pod="pod name"条件,换成服务对应的Pod标签筛选(Kubernetes里服务靠标签选择器绑定Pod,你得先确认目标服务关联的Pod标签,比如常见的app="your-service-name") - 用
sum()聚合函数把所有符合条件的Pod/Container的CPU使用率加起来,得到总量
修改后的最终语句
sum(rate(container_cpu_usage_seconds_total{app="your-target-service", container!="POD"}[5m]))
细节说明
container!="POD":过滤掉每个Pod里的Pause基础容器,这类容器的CPU消耗一般不需要统计- 一定要把
app="your-target-service"换成你实际环境中服务对应的Pod标签(有些集群可能用service="xxx"之类的,根据自己的标签规范来) - 如果需要按容器分别统计服务下各容器的CPU总量,就加上
by(container):sum(rate(container_cpu_usage_seconds_total{app="your-target-service", container!="POD"}[5m])) by (container)
内容的提问来源于stack exchange,提问作者user16593576
相关产品推荐
相关产品推荐

