Grafana 使用 Postgres 及时转移

Posted

技术标签:

【中文标题】Grafana 使用 Postgres 及时转移【英文标题】:Grafana shift in time with Postgres 【发布时间】:2021-12-29 08:52:28 【问题描述】:

我有一个带有时间戳的 postgres 表。 Postgres 设置为 CET。 Grafana 也设置为 CET。

在数据库中,我的时间戳高达例如。下午 2 点我在 Grafana 中看到的只是下午 1 点之前的数据。如果我更改时区,时间轴会更改,但并非所有数据都从数据库中选择,即最后一小时的数据总是丢失。

我做错了什么?

【问题讨论】:

【参考方案1】:

基本规则是在UTC 时区 的数据库中保存数据。 Grafana 在 UTC 时区查询数据库,然后它会自动将 UTC 数据库结果“移动”到选定的仪表板时区(通常是浏览器时区,但可以在仪表板配置中配置时区)。

数据库中数据的任何非 UTC 时区都意味着问题。本地时区也是一个问题,因为夏令时。您是否想过当 CET CEST 发生变化时如何保存您的数据?您将在一小时内将数据翻倍或丢失数据。所以黄金法则:数据库中的数据必须保存在 UTC 时区。

【讨论】:

如果我用正确的时区将数据存储在 timestamptz 中,它会起作用吗?即使数据库在 CET 中? @MichaelHecht 是的,PostgreSQL 将时间戳存储在 UTC 值中

以上是关于Grafana 使用 Postgres 及时转移的主要内容,如果未能解决你的问题,请参考以下文章

Grafana 与 springboot 和 postgres 的集成

Grafana 引用数据集变量以使用 Postgres 驱动程序转换图例值

Grafana Postgres 使用可具有多个值的 Where 查询时出错

如何及时显示石墨计数器的变化(在grafana中)?

grafana:过去 24 小时 - 转移和 2 小时丢失

Postgres 进程显示 100% CPU 但实际使用率为 6%,导致查询响应缓慢