Wavefront的align功能在Prometheus中的等效实现问询
Wavefront到Prometheus查询迁移答疑
先拆解你原来的Wavefront查询逻辑:
- 第一步:筛选出符合
cluster="${cluster_name}"和customer="${customer_name}"条件的metricName_counter指标 - 第二步:按
customer维度聚合求和,得到每个客户对应的单条计数器时间序列 - 第三步:用
align(1m, sum)把时间轴按1分钟分桶,对每个桶内的计数器值求和(因为计数器每分钟重置,这个求和结果就是该客户每分钟的总增量)
你现在写的Prometheus查询 sum by (customer) (increase(metricName_counter [1m])) 其实已经完美匹配这个逻辑,原因如下:
increase(metricName_counter [1m])会自动处理计数器的重置,计算每条原始序列在最近1分钟内的增量sum by (customer)把同一客户下所有序列的增量加总,得到的就是该客户每分钟的总增量,和Wavefront先聚合计数器再分桶求和的结果完全一致
如果需要更严格的整分钟分桶对齐(比如和Wavefront的align完全同步时间桶),可以结合Prometheus的offset调整窗口,或者在Grafana中设置查询的时间对齐参数,但日常场景下你当前的查询已经足够满足需求。
内容的提问来源于stack exchange,提问作者LifeStartsAtHelloWorld
相关产品推荐
相关产品推荐

