1

我有一个示例程序,可以总结为以下问题:

我想跟踪篮子中“球”的数量。所以我为每个篮子都有一个 Prometheus 计数器,可以跟踪其中的球数量。让我们称这个计数器 Balls(basket_name="name"),所以我有一个系列 Balls 和一个带有篮子名称的标签。现在要显示所有篮子中的球总数,我在 promql sum(Balls) 中执行以下操作,它会显示篮子中的球总数。问题是我每次都可以用不同的篮子重新启动我的程序,但是查询 sum(Balls) 将继续计算以前运行的“旧”篮子。

问题:我如何将查询设置为仅计算最后一个“球”的数量让我们说 5 分钟。?即忽略以前的所有系列。

4

1 回答 1

0

Prometheus 只会返回(并包含在 PromQL 中)查询非陈旧时间序列。根据收集指标的位置和方式,至少可以保证您永远不会看到超过 5 分钟(并且可能更早)的样本。

如果 OTOH 您的样本被推送到 Pushgateway 并且 Prometheus 从那里收集它们,那么您或多或少地不走运。AFAIK Pushgateway 指标永不过期,当您知道推送它们的源永久消失时,您需要明确删除它们。

于 2019-09-30T13:57:37.133 回答