解决上次遗留的问题-Prometheus

0,前言

上篇博客中有提到的问题,统计一段时间内,按照一定的step切分,然后每一个小段汇聚(avg, max, min, sum…),之前使用的是_over_time(),每一个小段一次请求,感觉这样有问题,所以先记录了下。

1,方案

使用query_range配合_over_time(),query_range使用start、end、step参数,将时间序列上切分成一段段,然后每一段,使用_over_time()统计方法进行聚合。

2,分析

2.1 之前失败的原因

之前是知道有query和query_range两种查询方式的,并且_over_time(),这样的方式也是知道的,并且也做了相应的尝试,不过由于当时使用pushgateway不正确,也就是没有及时从pushgateway中清除数据,所以从而导致之前使用query_range+_over_time()这样的方式得出的结果不正确,所以我就以为是这样的方案不可行,后边慢慢对Prometheus和pushgateway有了深入的理解后,才走上正途。

2.2,如果证明此方法确实可行呢?解决上次遗留的问题-Prometheus

3,刚好遗留了另一个问题

使用alertmanager发送告警,会发送两次告警,间隔时间是5分钟,而这个五分种也就是表达式中for语句持续的时间,但是在routes中已经使用repeat_interval设置为3600s了,说明这个repeat_interval没生效。不知道什么原因。暂且记录下来,日后解决。