如何将RRA添加到现有RRD?

时间:2015-05-19 10:25:00

标签: python rrdtool rrd

我正在使用RRD进行监控。在当前的RRD文件中,并不存在我将来要​​使用的所有存档。如何将RRA添加到现有RRD?我正在使用rrdpython编写Python(1.4.7)脚本。

我只找到将其转储到XML,添加存档并再次恢复的选项。但这听起来并不吸引人。

如果没有好的解决方案,我怎样才能轻松“复制”RRD的内容,将其添加到新的RRD(通过使用'更新',我猜),其中包含档案? (在python中)

提前谢谢。

1 个答案:

答案 0 :(得分:3)

在RRDTool 1.4及更早版本中,您无法在不重新创建的情况下将DS或RRA添加到现有RRD文件。新发布的RRDTool 1.5能够使用rrdtool tune子命令添加新的DS和RRA,但这可能还没有在您的操作系统中提供Python绑定。

使用1.4时,添加新RRA的唯一方法是将现有文件转储为XML,修改XML,然后将其恢复以创建新的RRD。不用说,这不是微不足道的,并不一定根据其他RRA中的历史数据在新RRA中构建数据。存在各种第三方实用程序,例如可以执行此操作的rrdmerge(与Routers2程序包一起分发),但它们都有某种形式的缺点。