普罗米修斯“负”偏移

Posted

技术标签:

【中文标题】普罗米修斯“负”偏移【英文标题】:Prometheus "negative" offset 【发布时间】:2019-12-18 15:00:05 【问题描述】:

我正在尝试使用 prometheus 数据源在 Grafana 中绘制条形图。 我的简单查询如下所示:

max_over_time(energy_monitor_watthour_today[1d])

我将 Grafana 设置为 1d 的间隔(这工作正常,并且每天都给我最高点)。但是使用这个,我所有的结果都在未来 1 天太远了。我想基本上给我的结果一个偏移量,将它们推到过去 1 天。

我曾尝试使用 Prometheus 的 Offset 函数进行查询: max_over_time(energy_monitor_watthour_today[1d] offset 1d)

但这会产生完全相反的效果,并将我的所有结果移到未来 1 天。像这样使用负偏移量:

max_over_time(energy_monitor_watthour_today[1d] offset -1d)

导致以下错误:

字符 57 处的解析错误:偏移量意外,预期持续时间

我也尝试过使用 Grafana 的时移功能,但这只会移动我的图表的时间范围,而不是更改实际日期。

如何将查询的所有结果移到过去的某一天?

【问题讨论】:

这可以通过 VictoriaMetrics 解决,它支持负偏移量 - 请参阅 MetricsQL docs 了解更多详细信息。 【参考方案1】:

这是 Prometheus 无法实现的。见:github。 切换到 InfluxDB 解决了这个问题。现有数据可以使用Prom2Influx迁移。

编辑:更新版本的 Prometheus 可以做到这一点! link

【讨论】:

以上是关于普罗米修斯“负”偏移的主要内容,如果未能解决你的问题,请参考以下文章

普罗米修斯的故事,最后的结局

普罗米修斯的架构

Docker 搭建普罗米修斯

window普罗米修斯监控如何重启

Rancher、普罗米修斯、Cadvisor、Grafana、skywalking

普罗米修斯的故事告诉我们啥道理。