Aggregate functions rrdtool不保留max

Aggregate functions rrdtool不保留max,aggregate-functions,rrdtool,Aggregate Functions,Rrdtool,我用一个DS创建了一个RRD,一个脚本的处理时间,一步10分钟。 有三个存档,最大值作为聚合函数:一周内的所有值,一个月内的每小时,两年内的每一天 rrdtool create RRD --start 1411561343 --step 600s \ DS:processtime:GAUGE:1200:0:U \ RRA:MAX:0.5:1:1008 \ RRA:MAX:0.5:6:744 \ RRA:MAX:0.5:144:732 我从一个包含2014/09/24 14:32:23(1411

我用一个DS创建了一个RRD,一个脚本的处理时间,一步10分钟。 有三个存档,最大值作为聚合函数:一周内的所有值,一个月内的每小时,两年内的每一天

rrdtool create RRD --start 1411561343 --step 600s \
DS:processtime:GAUGE:1200:0:U \
RRA:MAX:0.5:1:1008 \
RRA:MAX:0.5:6:744 \
RRA:MAX:0.5:144:732
我从一个包含2014/09/24 14:32:23(1411561943)到2016/01/11 11 11:07:25(1452503245)所有记录的文件中删除了它。 最大值为2015/09/11 14:18:35(1441973915),23340

当我绘制图或rrd时,我有很多NaN,我没有看到这个最大值,也没有看到许多其他重要的值。 rrd中的最大值为
8.0004250000e+02

这是否与间隔时间不是10分钟而是8到12分钟有关


如果是这样,是否有办法更改此行为?

首先,rrdtool将数据重新采样到
--步骤中的给定间隔,然后再进一步处理数据。间隔与历元时间戳对齐(从1970-01-01 00:00:00 GMT开始)。如果您想在较短的时间间隔内获得最大值,则必须降低步长并更频繁地输入数据。

正如Tobi提醒您的那样,您的样本将首先标准化/重新采样为规则的10分钟间隔,无论它们何时到达。除非在时间间隔边界上准确插入数据,否则无法禁用此行为

您的最大值可能不是您认为的时间间隔

RRA:MAX:0.5:1:1008 \
RRA:MAX:0.5:6:744 \
RRA:MAX:0.5:144:732
您的RRA适用于1、6和144个样品。由于间隔为10分钟,这些RRA分别对应于10分钟、1小时和1天,并将在该间隔内保存最大值的归一化样本

此外,您的XFF为0.5,这意味着RRA必须有50%以上的所需样本才能存储值,DS上的心跳为20分钟,这意味着如果存在如此长的间隔,则样本未知

您可能希望添加一个
RRA:AVG:0.5:1:1008
作为参考,以便您可以验证正在收集的数据并追踪
NaN
的来源

请注意,在绘制图形或使用xport时,如果覆盖整个请求时间窗口的适当RRA不可用,rrdtool将根据可用数据计算最大动态

您可以通过如上所述使用平均RRA来验证MAX计算,并获取此预聚合数据以与MAX RRA中存储的值进行比较