【问题标题】:Count computers(tag) given that their status(tag) = 'OFF' in InfluxDB计算计算机(标签),因为它们在 InfluxDB 中的状态(标签)=“关闭”
【发布时间】:2021-01-25 15:36:11
【问题描述】:

我有这样的架构。

这里如何准确计算当前开机或关机的计算机数量?

当我查询关闭计算机时,预期的结果应该是 0。但我得到一个 1。因为它考虑了 DELL1 表中的第 2 行。

我的查询是

SELECT count("count") FROM (SELECT count("value") FROM "meas" WHERE ("status" = 'OFF') AND $timeFilter GROUP BY "computer")

【问题讨论】:

    标签: grafana influxdb


    【解决方案1】:

    在计算关闭/开启计算机的数量时,您只需考虑计算机的最新status

    您可以使用 InfluDB 的LAST 函数来获取每台计算机的最后报告状态。此查询的结果可以嵌套在子查询中,并根据所需状态进行过滤。

     SELECT count('last_status') FROM (
                         SELECT last("status") FROM "meas" WHERE $timeFilter GROUP BY "computer"
       
       ) WHERE last_status = 'OFF' GROUP BY "computer"
    

    【讨论】:

    • "status" 是一个 InfluxDB 标签。 “值”是每个系列中唯一等于一个的字段。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-01-03
    • 1970-01-01
    • 1970-01-01
    • 2011-02-04
    • 1970-01-01
    • 2020-03-16
    • 1970-01-01
    相关资源
    最近更新 更多