如何通过PromQL在Grafana中生成指定格式的统计汇总表格?
解决方法
要实现按TYPE和ID分组统计总数、Status=0和Status=1的数量,需要结合PromQL的聚合函数和Grafana表格面板的多查询组合,具体步骤如下:
1. 编写单个统计查询
针对每个统计项编写对应的PromQL:
- Total(总数):统计每个TYPE+ID组合下的所有样本数
count(my_matric) by (TYPE, ID) - Status0(Status=0的数量):筛选Status=0的样本后统计数量
count(my_matric{Status="0"}) by (TYPE, ID) - Status1(Status=1的数量):筛选Status=1的样本后统计数量
count(my_matric{Status="1"}) by (TYPE, ID)
注意:Prometheus标签是大小写敏感的,如果你的指标实际标签是小写(比如
type、id、status),需要把查询里的标签名对应改成小写。
2. 在Grafana中组合成表格
在Grafana的表格面板中:
- 添加上述三个查询,分别为每个查询设置别名:
Total、Status0、Status1 - 在表格的「列」设置里,将
TYPE和ID设置为分组列,Grafana会自动将同一TYPE+ID组合的统计值合并到同一行,生成你需要的汇总表格。
为什么label_join不适用
label_join的作用是拼接标签字符串,无法实现聚合统计的需求,所以这类分组计数场景需要用count配合by子句来实现。
内容的提问来源于stack exchange,提问作者PromiseCuriuos
相关产品推荐
相关产品推荐

