将按不同时间段分组的下采样数据下采样到一个测量中

时间:2016-03-28 16:01:21

标签: influxdb

我的版本的Influxdb是0.11。想象一下这种情况,我有一个“cpu”测量,并希望对其进行下采样。更具体地说,我想对它进行两次下采样,分组10和30分钟。更重要的是,将这些新时间序列存储在一个测量中(比如cpu_aggregated)会更​​好。为此我需要引入新标签“period”。我的新时间序列应该具有此标记的不同值(10和30)。是否可以在Influxdb中实现这样的模式?

2 个答案:

答案 0 :(得分:2)

不幸的是,目前还不可能。因此,为了实现这样的场景,应该将下采样周期编码为测量名称:

SELECT SUM(count) INTO cpu_aggregated_10 FROM cpu WHERE time < now() GROUP BY time(10m)
SELECT SUM(count) INTO cpu_aggregated_30 FROM cpu WHERE time < now() GROUP BY time(30m)

https://groups.google.com/forum/#!topic/influxdb/Q47ly6gxybg

答案 1 :(得分:0)

完全有可能。

period代码的每个可能值都需要Continuous Query

如果您的数据定期进入,您可能需要考虑将下采样用于10分钟分组,然后发出一个分组30分钟的查询以获得您要查找的结果(而不是存储两次数据量)。您还需要保留政策才能使旧数据过期。

作为使用连续查询的替代方法,您可能需要考虑使用Kapacitor对数据进行缩减采样。使用Kapacitor还可以在下采样时执行更复杂的操作。