python - 如何将 RRA 添加到现有 RRD 中?

标签 python rrdtool rrd

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

我只找到了将其转储到 XML、添加存档并再次恢复的选项。但这听起来并不有吸引力且速度不快。

如果没有好的解决方案,我如何轻松“复制”RRD 的内容以将其添加到包含存档的新 RRD(我猜是通过使用“更新”)? (在Python中)

提前谢谢您。

最佳答案

在 RRDTool 1.4 及更早版本中,您无法将 DS 或 RRA 添加到现有 RRD 文件而不重新创建它。新发布的 RRDTool 1.5 能够使用 rrdtoolune 子命令添加新的 DS 和 RRA,但这可能尚未在您的操作系统中提供可用的 Python 绑定(bind)。

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

关于python - 如何将 RRA 添加到现有 RRD 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30322964/

相关文章:

Python - 如何使用 PySAL 计算交互式空间自相关 (Moran I)?

python - 类没有属性用户

Rrd4j持久化

c# - 是否可以通过网络访问Cacti RRD数据库

c++ - Boost.Python 和 Boost.Signals2 : Segmentation faults

python - 通过 Python 3 制作莫尔斯语到英语翻译器的困难

monitoring - 就构建(或设置)基于 RRD 工具的 Web 应用程序(用于网站监控)提出建议,该应用程序比 Cacti 更简单?

graphing - RRDtool 多个 RRA 有什么用?

PHP fatal error : Call to undefined function rrd_xport()

linux - RRD 不适用于 shell 脚本