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

如何在单个Grafana仪表盘展示所有命名空间下应用Pod的内存使用情况?

实现跨所有命名空间展示特定应用Pod内存使用情况

完全可以实现,只需要调整Prometheus查询语句并配合Grafana的面板配置即可,具体操作如下:

调整Prometheus查询语句

内存使用量查询(原语句A)

原语句限定了单个$namespace,要覆盖所有命名空间的数据,需移除该过滤条件,同时保留namespace标签用于分组;如果要筛选特定应用的Pod,可添加Pod名称的正则匹配:

sum(container_memory_working_set_bytes{cluster="$cluster", container!="", image!="", pod=~".*你的应用标识.*"}) by (namespace, pod)
  • 移除namespace="$namespace":让查询覆盖所有命名空间
  • 添加namespace到by()分组:保留Pod所属的命名空间信息,方便区分展示
  • pod=~".*你的应用标识.*":替换成你应用的Pod名称特征(比如应用名前缀),只查询目标应用的Pod

内存配额查询(原语句B)

原语句用scalar()只返回单个命名空间的配额值,要获取所有命名空间的配额,去掉scalar()和namespace="$namespace"过滤:

kube_resourcequota{cluster="$cluster", type="hard", resource="requests.memory"}

这样会返回每个命名空间对应的内存配额,自动带上namespace标签。

Grafana面板配置

  • 分组展示:在折线图/柱状图的图例设置中,选择按namespace和pod分组,图例会显示[namespace]/[pod]的组合,清晰区分不同命名空间下的Pod数据
  • 双轴对比:如果要同时展示内存使用量和配额,可把两个查询放在同一个面板,设置双Y轴(左侧显示使用量,右侧显示配额)
  • 灵活筛选:可以添加Grafana变量(比如$app),通过PromQL查询动态获取应用标识;或者保留$namespace变量设为可选,让用户手动筛选特定命名空间查看数据

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 03:45:03