【问题标题】:InfluxQL/Grafana: Get maximum per dayInfluxQL/Grafana:每天获得最大值
【发布时间】:2020-04-20 21:55:29
【问题描述】:

我想每天获取一个时间序列的最大值,所以每天 00:00:00 时有一个数据点。最大值应在每天 00:00:00 到 23:59:59 的范围内计算。

到目前为止我得到了什么:

SELECT max("temperature") FROM "Temperature" WHERE $timeFilter GROUP BY time(1d)

(Grafana 使用 $timeFilter 仅显示选定的时间范围) 通过该查询,我在错误的时间获得了输出数据点。

编辑: 当我跑步时

> precision rfc3339
> SELECT max("temperature") FROM "Temperature" WHERE time > now() - 7d GROUP BY time(1d) fill(null)

name: Temperature
time                 max
----                 ---
2020-03-22T00:00:00Z 4.5
2020-03-23T00:00:00Z 9.687
2020-03-24T00:00:00Z 10.75
2020-03-25T00:00:00Z 8.5
2020-03-26T00:00:00Z 11.062
2020-03-27T00:00:00Z 10.25
...

在 CLI 中,时间戳似乎是正确的。

但在 Grafana 中,数据点放置在每天 02:00。

谢谢!

【问题讨论】:

  • 什么是错误时间以及预期的正确时间是什么?图表或 InfluxDB 结果中的时间是否错误?您是否将 UTC 用于公制时间戳?
  • 在上面添加了说明。

标签: grafana influxdb influxql


【解决方案1】:

InfluxDB 的结果采用 UTC。但是 Grafana 默认将时间戳插入到您的浏览器时区(因此您的浏览器/本地环境会报告您的本地时区 UTC+2)。您可以在仪表板配置中更改此行为,例如您可以在 UTC 中保留时间戳:

【讨论】:

  • 好建议,不知道。但这与我在同一个仪表板中的其他面板混淆了。还有其他方法吗?
  • @MarvinNoll 查询中的时区子句可能会对您 (github.com/grafana/grafana/pull/14627) 有所帮助,如果您真的希望在面板级别这样做。但这是骇人听闻的,它可能只适用于一个特定的时区。更好的方法可以是 UTC 仪表板和其他带有本地时区条款的查询/面板。
【解决方案2】:

我想我自己找到了解决方案:

点击GROUP BY旁边的“+”并选择tz(),然后输入所需的时区。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-11-01
    • 2022-10-16
    • 1970-01-01
    • 1970-01-01
    • 2017-05-12
    • 2013-03-29
    • 2021-04-17
    • 1970-01-01
    相关资源
    最近更新 更多