我有一个示例程序,可以总结以下问题:
我想跟踪篮子中“球”的数量。因此,对于每个跟踪其中球数量的篮子,我都有一个Prometheus计数器。让我们将此计数器称为Balls(basket_name =“ name”),所以我有一个Balls系列和一个带有购物篮名称的标签。 现在要显示所有篮子中的球总数,我在promql sum(Balls)中执行以下操作,它显示篮子中的球总数。 问题是我每次都可以用不同的篮子重新启动程序,但是查询sum(Balls),将继续从以前的运行中计算“旧”篮子。
问题:我该如何设置查询以仅计算最后5分钟的“球”数量?即忽略之前的所有系列。
答案 0 :(得分:0)
Prometheus仅返回(包括在PromQL中)非陈旧的时间序列查询。根据您从何处收集指标以及如何收集指标,您at least guaranteed永远不会看到超过5分钟(可能更快)的样本。
如果OTOH,您的样品被推到Pushgateway,而Prometheus从那里收集它们,那么您或多或少就会失去运气。 AFAIK Pushgateway指标永不过期,您需要在知道以下情况时明确删除它们:推他们的源头永远消失了。