我在influxql中有一个查询来获取cpu、内存、负载和磁盘值,用一个WHERE子句表示它只带来1分钟前的数据。查询有效,但它总是带来相同的日期,即 WHERE 的确切日期。我需要你给我带来最新的日期,也就是服务器最后一次向influexdb数据库发送数据的时间。
我想要的是确定是否有机器没有发送数据,也就是说,我需要 condiict 的最后日期:
time> = now () - 1h
例如,现在我输入 WHERE 的日期,所以:
02/02/2019, 19:33:35
02/02/2019, 19:33:35
02/02/2019, 19:33:35
02/02/2019, 19:33:35
02/02/2019, 19:33:35
我需要的是最后一个日期,因为在那一小时(1h)内肯定有日期更长的记录(time> =
),我的意思是必须有日期的记录:
02/02/2019, 19:33:35
02/02/2019, 19:35:12
02/02/2019, 19:43:30
02/02/2019, 19:40:25
02/02/2019, 19:36:32
我感谢知道发生了什么的人的帮助。谢谢!
这是 SQL:
SELECT
LAST(cpu_used) AS cpu,
LAST(mem_used) AS mem,
LAST(load) AS load,
LAST(disk_await) AS disk_await
FROM custom
WHERE time >= now() - 1m
GROUP BY hostname
这是查询的完整退出:
名称:自定义标签:hostname=linux7 time cpu mem load disk ---- --- --- ---- ---- 2019-02-02T18:46:00.42366206Z 1 43 0 0
名称:自定义标签:hostname=linux24 time cpu mem load disk ---- --- --- ---- ---- 2019-02-02T18:46:00.42366206Z 11 34 0 0
名称:自定义标签:hostname=linux4 time cpu mem load disk ---- --- --- ---- ---- 2019-02-02T18:46:00.42366206Z 11 42 0 0
名称:自定义标签:hostname=linux3 time cpu mem load disk ---- --- --- ---- ---- 2019-02-02T18:46:00.42366206Z 73 32 1 0
名称:自定义标签:hostname=linux20 time cpu mem load disk ---- --- --- ---- ---- 2019-02-02T18:46:00.42366206Z 1 41 0 0
名称:自定义标签:hostname=linux1 time cpu mem load disk ---- --- --- ---- ---- 2019-02-02T18:46:00.42366206Z 36 55 0 0