记录规则计算后清理 Prometheus 中的指标

Cleaning metrics in Prometheus after recording rules computation

我在 Prometheus 中有一个联合工作,它从多台机器上抓取指标(请求数)。

问题是这些指标带有范围广泛的标签组合(如 IP 地址、容器元数据等),因此我添加了一个记录规则,该规则计算所有传入指标的总和并将其保存在一个只有我需要的标签的新指标。结果,我只有大约 10 种标签组合,而不是 200k。

问题:有没有办法删除原始指标而不是来自记录规则的指标?

可能的解决方案:

据我所知,除了删除您不再感兴趣的时间序列之外,无法在单个 Prometheus 实例中执行您想要的操作。顺便说一句,/api/v1/admin/tsdb/series apparently accepts startend 参数,允许您例如只删除原始时间序列的旧样本。

另一种选择是让一个 Prometheus 实例以非常短的保留时间执行抓取和聚合(就像您现在所做的那样)。并让第二个具有较长保留时间的 Prometheus 实例从第一个实例中获取聚合结果(以及您想要保留的任何其他指标)。这叫做"federation".