如何用PromQL识别Prometheus中客户标签对应的重复指标数据集
解决方案
直接使用如下PromQL语句即可:
count(orders) by (customer)
逻辑说明
count()是PromQL的聚合函数,作用是统计分组内的时间序列数量,不需要关注指标本身的数值by (customer)指定按照customer标签分组统计,最终返回的结果就是每个客户对应的唯一指标序列总数
用你提供的示例数据执行该语句,输出结果如下,完全符合预期:
{customer="a"} 2 {customer="b"} 1 {customer="c"} 1
拓展优化(可选)
如果需要排除已经停止上报很久的旧无效序列,可以加入时间条件过滤,比如仅统计最近5分钟有上报的序列:
count(orders and timestamp(orders) > time() - 300) by (customer)
内容的提问来源于stack exchange,提问作者flix
相关产品推荐
相关产品推荐

