PromQL中带有时间偏移的两个指标之间的差异

时间:2020-05-14 11:16:46

标签: prometheus promql

我有一个指标(规)updated,该指标的module标签设置为模块名称。在成功执行“更新”(无论其含义)之后,模块现在将其设置为UTC。其中一个模块(称为“主要”模块)必须在其他模块任何更新后的10分钟内执行更新。

尝试#1 从“主要”指标中提取所有其他指标的最大值:

(max(updated{module="main"}) - max(updated{module!~"main"}))

部分有效。在“其他”指标已更新但“主要”指标尚未更新的那些时间段内,它失败:

enter image description here

尝试#2

选择偏移10分钟的“其他”指标,因此我们总是将“主要”更新时间与当前最新的“其他”指标更新时间进行比较-10m瞬间,这使“主要”模块有10分钟的工作时间:

(max(updated{module="main"}) - max(updated{module!~"main"} offset 10m))

结果也不佳:

enter image description here

现在,两次更新之间会有很大的延迟(在这种情况下为8000秒),因为我们从当前的“主要”时间中减去了太旧的“其他”更新时间。

我是PromQL的新手,所以很可能我错过了一些简单的基本方法。

0 个答案:

没有答案