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

Downsampling data, grouped by different time periods, into one measurement

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

完全有可能。

period 标签的每个可能值都需要一个 Continuous Query

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

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

很遗憾,目前无法进行。因此,为了实现这样的场景,应该将下采样周期编码到测量名称中:

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.