我有一个旧的 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/

10-12 16:03