我有一个旧的 RRD 文件,该文件仅设置为跟踪 1 年的历史记录。我决定更多的历史会很好。我确实调整了 rrdtool 的大小,现在 RRD 更大了。我有这个 RRD 文件的旧备份,我想合并旧数据,以便最新的 RRD 也有历史数据。
我试过 rrd contrib "merged-rrd.py"但它给出了:
$ python merged-rrd.py ../temperature-2010-12-06.rrd ../temperature-2011-05-24.rrd merged1.rrd
merging old:../temperature-2010-12-06.rrd to new:../temperature-2011-05-24.rrd. creating merged rrd: merged1.rrd
Traceback (most recent call last):
File "merged-rrd.py", line 149, in <module>
mergeRRD(old_path, new_path, mer_path)
File "merged-rrd.py", line 77, in mergeRRD
odict = getXmlDict(oxml)
File "merged-rrd.py", line 52, in getXmlDict
cf = line.split()[1]
IndexError: list index out of range
也试过“rrd_merger.pl”:
$ perl rrd_merger.pl --oldrrd=../temperature-2010-12-06.rrd --newrrd=../temperature-2011-05-24.rrd --mergedrrd=merged1.rrd
Dumping ../temperature-2010-12-06.rrd to XML: /tmp/temperature-2010-12-06.rrd_old_8615.xml
Dumping ../temperature-2011-05-24.rrd to XML: /tmp/temperature-2011-05-24.rrd_new_8615.xml
Parsing ../temperature-2010-12-06.rrd XML......parsing completed
Parsing ../temperature-2011-05-24.rrd XML...
Last Update: 1306217100
Start processing Round Robin DB
Can't call method "text" on an undefined value at rrd_merger.pl line 61.
at rrd_merger.pl line 286
at rrd_merger.pl line 286
是否有一种工具可以组合或合并有效的 RRD?
最佳答案
通过检查现有的 python 脚本,我最终组装了一个非常简单的脚本,它对我的情况来说足够好。
http://gist.github.com/2166343
关于rrdtool - 随着时间的推移合并多个 RRD,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9816139/