【问题标题】:InfluxDB - Query the MAX of last values for every existing tagInfluxDB - 查询每个现有标签的最后一个值的 MAX
【发布时间】:2021-02-11 20:58:00
【问题描述】:

这是我数据库中的测量示例:

time                category      VM       observation   severity
----                --------      ---      -----------   --------
1434067460000000000 availability  VM2      cpu           1
1434067470000000000 availability  VM2      memory        3
1434067480000000000 availability  VM1      memory        2
1434067490000000000 treacability  VM1      filesystem    1

我想查询给定 VM 的类别的当前状态,类别的状态是该给定类别的所有不同现有观察结果的最后一个严重性的 MAX。 (例如这里VM2的可用性,它是最后一次cpu观察和最后一次内存观察的严重性的最大值)。

我可以通过这样的查询获得一个类别的不同观察结果:

select distinct("observation") from (select observation, severity from my_measurement where category='availability')

但是没有像 SQL 中的 WHERE IN 子句将其用作子查询。

知道如何用 influxdb 解决这个问题吗?

【问题讨论】:

    标签: influxdb


    【解决方案1】:

    我用一个简单的GROUP BY 解决了这个问题。类别 availability 和虚拟机 VM2 的示例:

    SELECT MAX("value") FROM (
        SELECT "value"
        FROM my_measurement
        WHERE category='availability' AND VM='VM2'
        GROUP BY observation
        ORDER BY DESC
        LIMIT 1)
    ORDER BY DESC
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-10-01
      • 2020-02-20
      • 2019-07-27
      • 2021-10-07
      • 2021-10-27
      • 2020-10-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多