未正确计算循环数据库聚合

时间:2017-02-28 10:22:04

标签: perl rrdtool rrd

我正在使用Perl和RRDtool处理循环数据库(RRD)。

  • 将其导出为XML文件(DUMP)
  • 从中删除所有从特定日期开始的数据
  • 恢复数据(RESTORE)
  • 调整回原始行值(RESIZE)
  • 在原始上一个时间戳(UPDATE)之前添加新数据。

最后,我比较了两个文件,除了我更改的数据范围外,它们完全相同。如果我进行转储,除了我的更改之外,XML也是相同的。

RRD文件配置了四个聚合:5分钟,30分钟,2小时和一天。

第一个和第二个是使用旧数据和新数据正确计算的,而不是其他两个每小时和每日两个 - 给出的值大于该平均值的任何参与者。

好像,为了得到平均值,而不是除以它们中的一些值而除以它们中的一些值。我无法想到它用于获得该结果的可能计算。

当然,平均计算的其余部分是正确的,无论是我从未改变过的范围,还是从XML文件中取出的范围,并且没有任何更改,以便稍后恢复。

有没有人有类似的问题?

我是否需要考虑一些配置值? 一组数据可以是:

时间数据
0:05 14643396060000000
0:10 14549407250000000
0:15 14468920560000000
0:20 14382689130000000
0:25 14296071870000000
0:30 14208902410000000
0:35 14103587010000000
0:40 14000224290000000
0:45 13921126620000000
0:50 13820839920000000
0:55 13718474930000000
1:00 13705110300000000
1:05 13608760540000000
1:10 13427681100000000
1:15 13335962490000000
1:20 13239111880000000
1:25 13208808780000000
1:30 13130585050000000
1:35 13073430560000000
1:40 13050024360000000
1:45 12802826580000000
1:50 12706530220000000
1:55 12662882200000000
2:00 12601583660000000

30分钟平均值(从0X:05到0X:30)
00:30 14424897880000000
01:00 13878227178333300
01:30 13325151640000000
02:00 12816212930000000

在您查看平均2小时计算的值之前,一切似乎都是正确的 必须是13611122407083300
但在RRD中你找到18698470780000000,
比集合中任何其他数据更大的数据。 它与日平均值相同。

0 个答案:

没有答案