【发布时间】:2020-03-19 08:56:40
【问题描述】:
刚接触 InfluxDB。
我有一个监控的 IO 信号,每次更改时,InfluxDB 都会记录其时间戳。数据如下:
time value
---- -----
2020-03-19 06:02:50 0
2020-03-19 06:01:28 1.00
2020-03-19 03:25:58 0
2020-03-19 03:22:38 1.00
2020-03-18 23:07:47 0
2020-03-18 23:06:47 1.00
2020-03-18 21:14:47 0
2020-03-18 21:12:45 1.00
2020-03-18 21:11:23 0
2020-03-18 21:09:41 1.00
2020-03-18 21:07:30 0
...
现在我想获取 value = 1 ONLY 的经过时间(这意味着开关打开的经过时间)
首先我尝试了SELECT elapsed("value")/3600/1000000000 FROM "MyMeasurement",然后我得到了一个这样的系列:
time elapsed
---- -----
2020-03-19 06:02:50 0.02
2020-03-19 06:01:28 2.59
2020-03-19 03:25:58 0.06
2020-03-19 03:22:38 4.25
2020-03-18 23:07:47 0.02
2020-03-18 23:06:47 1.87
2020-03-18 21:14:47 0.03
2020-03-18 21:12:45 0.02
2020-03-18 21:11:23 0.03
2020-03-18 21:09:41 0.04
2020-03-18 21:07:30 0.02
...
如何将系列缩小到我关注的那些 [0.02, 0.06, 0.02, 0.03, 0.03, 0.02 ...]?我必须在 InfluxDB 查询命令中执行此操作,因为我将其弹出到 Grafana 面板上。谁能帮我解决这个问题?
【问题讨论】: