如何将 RRA 添加到现有 RRD?

How can I add RRA's to an existing RRD?

我正在使用 RRD 进行监控。在当前的 RRD 文件中,并不是我将来要使用的所有档案都存在。如何将 RRA 添加到现有 RRD?我正在使用 rrdpython.

编写 Python (1.4.7) 脚本

我只找到将其转储到 XML 的选项,添加档案并再次恢复。但这听起来并没有吸引力和速度。

如果没有好的解决方案,我如何轻松地 'copy' RRD 的内容将其添加到包含档案的新 RRD(我猜是使用 'update')? (在 python)

提前致谢。

在 RRDTool 1.4 及更早版本中,您无法在不重新创建的情况下将 DS 或 RRA 添加到现有 RRD 文件。新发布的 RRDTool 1.5 能够使用 rrdtool tune 子命令添加新的 DS 和 RRA,但这在您的 OS.

中可能还没有 Python 绑定可用

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