普罗米修斯中的Crontab式记录规则

普罗米修斯中的Crontab式记录规则,cron,prometheus,Cron,Prometheus,我用普罗米修斯每30秒收集一次数据,这做得很好。为了节省一些存储空间,我还创建了一些记录规则,将这些原始指标聚合为更粗糙的指标,如cpu\u-time:avg1h 现在的问题是,我希望聚合发生在每小时的开始。普罗米修斯有可能吗?普罗米修斯没有这样的功能,虽然你可以控制规则评估的间隔,但阶段是随机的 出于理智的考虑,通常建议将刮削结束评估间隔设置为相同的间隔,因此我建议使用30秒的评估间隔。普罗米修斯有很好的压缩性能,所以它会很便宜。谢谢你的回复!压缩可以解决存储空间问题,但它带来了另一个问题:如

我用普罗米修斯每30秒收集一次数据,这做得很好。为了节省一些存储空间,我还创建了一些记录规则,将这些原始指标聚合为更粗糙的指标,如
cpu\u-time:avg1h


现在的问题是,我希望聚合发生在每小时的开始。普罗米修斯有可能吗?

普罗米修斯没有这样的功能,虽然你可以控制规则评估的间隔,但阶段是随机的


出于理智的考虑,通常建议将刮削结束评估间隔设置为相同的间隔,因此我建议使用30秒的评估间隔。普罗米修斯有很好的压缩性能,所以它会很便宜。

谢谢你的回复!压缩可以解决存储空间问题,但它带来了另一个问题:如何高效地执行查询,如“在过去1个月内给我
cpu\u时间:avg1h
,但每小时只选择一个数据点”。我不想发送和显示数以万计的数据点,因为这会消耗我们客户机中的太多资源。普罗米修斯是否针对此类查询进行了优化?查询范围端点的
步骤
参数允许您控制计算查询的频率。实际上,有一个故障保护机制可以防止一次返回超过11k个步骤。在对普罗米修斯的源代码进行了一些挖掘之后,向普罗米修斯添加这样的功能似乎并不难。我正在考虑向规则组添加一个可选字段
base
,以显式控制阶段,这将对
group.offset()
函数(rules/manager.go:266)的结果产生一些影响,有什么建议吗?这样的特性不太可能被接受,因为它只能在非常小的用例中工作,并且会破坏正常使用。