Prometheus中如何编写查询绘制指定namespace的CPU及内存指标图表
Prometheus多指标同图查询方案
你原语句无法正常运行的核心原因是and是PromQL的逻辑匹配运算符,作用是筛选同时匹配左右两个指标标签集的时间序列,不会返回两类独立的指标结果,不符合同图展示两个不同指标的需求。
推荐方案(适配Grafana/原生Prometheus UI)
直接在图表配置中添加两个独立的查询语句,分别查询对应指标,可通过双Y轴配置适配两类指标的单位差异:
- 特定Namespace CPU使用率查询:
namespace:container_CPU_usage:sum{namespace="替换为你要查询的目标命名空间"}
- 特定Namespace内存使用字节数查询:
namespace:container_memory_usage_bytes:sum{namespace="替换为你要查询的目标命名空间"}
单查询语句返回两类指标方案
如果需要单个PromQL同时返回两类指标,可通过label_replace加or运算符实现,返回结果会新增metric_type标签区分指标类型:
label_replace(namespace:container_CPU_usage:sum{namespace="替换为你要查询的目标命名空间"}, "metric_type", "cpu_usage", "", "") or label_replace(namespace:container_memory_usage_bytes:sum{namespace="替换为你要查询的目标命名空间"}, "metric_type", "memory_usage_bytes", "", "")
内容的提问来源于stack exchange,提问作者Kshitija Patil
相关产品推荐
相关产品推荐

