我正在使用RRD进行监控。在当前的RRD文件中,并不存在我将来要使用的所有存档。如何将RRA添加到现有RRD?我正在使用rrdpython编写Python(1.4.7)脚本。
我只找到将其转储到XML,添加存档并再次恢复的选项。但这听起来并不吸引人。
如果没有好的解决方案,我怎样才能轻松“复制”RRD的内容,将其添加到新的RRD(通过使用'更新',我猜),其中包含档案? (在python中)
提前谢谢。
答案 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程序包一起分发),但它们都有某种形式的缺点。