【问题标题】:InfluxDB 和 Grafana - 在查询编辑器上获取今天的日期
【发布时间】:2022-01-16 22:12:08
【问题描述】:

如何使用 Grafana 和 InfluxDB 获取当天的开始时间?

我看到 Grafana 在时间范围内使用“now/d”来执行此操作。但我需要在查询编辑器中获取当前日期。

我试过了,但没用:

我也测试过:

select mean(value) from MEDIDOR where time > now()/d group by time(1h) 
select mean(value) from MEDIDOR where time > now(d) group by time(1h) 
select mean(value) from MEDIDOR where time > $now/d group by time(1h) 
select mean(value) from MEDIDOR where time > $now(d) group by time(1h) 
select mean(value) from MEDIDOR where time > ${now/d} group by time(1h) 
select mean(value) from MEDIDOR where time > ${now(d)} group by time(1h) 

我将时间选择器用于同一仪表板上的其他图表。我试图做的是一个带有总价值的标签。像这样的:

我需要的是“今天到目前为止”选项,但在我的查询中。这就是为什么它需要独立于时间选择器。比如:

select mean(value) from MEASUREMENT where time >= today_so_far

【问题讨论】:

    标签: grafana influxdb


    【解决方案1】:

    now/d 仅在 UI 中。每个数据源最后可能对日期时间格式有不同的要求。所以使用全局变量__from 并根据您特定的 InfluxDB 需要对其进行格式化。我猜默认${__from}(Unix 毫秒纪元)对于您的情况来说是可以的。见文档:https://grafana.com/docs/grafana/latest/variables/variable-types/global-variables/#from-and-to

    select mean(value) from MEDIDOR where time > ${__from} group by time(1h)
    

    无论如何,我会使用默认的$timeFilter 宏,因此从/到时间条件将通过它来解决:

    select mean(value) from MEDIDOR where $timeFilter group by time(1h)
    

    【讨论】:

    • 我使用“统计”图表来显示一个值的总和(仅文本)。这个总数需要是每天的初始时间。示例:“2021-12-14 00:00:00”之后的“2021-12-13 00:00:00”等等。所以我不能使用时间范围字段。我需要一些变量来给我每天的初始时间......比如今天()或“现在/d”。
    • *(时间范围字段用于同一仪表板上的另一个图表。这就是为什么我不能使用时间范围字段)。
    • @JoãoSoares 错误的问题给了你错误的答案。我真的不知道你需要什么。我要放弃了。
    • 我需要一个变量(或其他东西)来让我知道当天的开始。比如“2021-12-13 00:00:00”。但是,仍然感谢您的帮助。
    猜你喜欢
    • 1970-01-01
    • 2017-08-20
    • 1970-01-01
    • 2019-11-15
    • 1970-01-01
    • 1970-01-01
    • 2017-09-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多