繁体   English   中英

RRDtool多个RRA有什么用?

[英]RRDtool what use are multiple RRAs?

我正在尝试实现rrdtool 我阅读了各种教程,并启动了我的第一个数据库。 但是,有些事情我不理解。

令我感到困惑的是, 为什么遇到的这么多示例指示我创建多个RRA?

请允许我解释一下:假设我有一个要监视的传感器。 我将最终希望按小时,每日,每周和每月查看传感器数据的图形,该图形跨越1.5年(用于可视化季节性影响)(我对此仍然不满意)。

现在,为什么要为每个视图创建一个RRA? 为什么不创建一个像这样的数据库(步长= 300秒):

DS:sensor:GAUGE:600:U:U \
RRA:AVERAGE:0.5:1:160000

如果我理解正确,则可以在任何给定时间段以所需的分辨率创建所需的任何图形。 我需要定义的所有其他RRA的用途是什么?

顺便说一句:我可以想象,在过去,当计算能力更加稀缺时,这有所帮助。 如今,有了快速的磁盘,高速接口和强大的CPU,我想您不需要RRA似乎专门为这种预处理而设计的。

编辑:我知道此页面 尽管它非常清楚地说明了合并,但据我理解,在对数据进行图表绘制时, rrdtool graph也可以进行合并。 在我看来,“收获时间整合”没有任何附加价值。

每个RRA是一组特定分辨率的预先合并的数据点。 这执行两个重要功能。

首先,它节省了磁盘空间。 因此,如果您对过去24小时的高细节图感兴趣,而仅对去年的低细节图感兴趣,那么您无需保留整年的高细节数据-合并数据就足够了。 通过这种方式,您可以最小化保存用于生成图的数据所需的存储量(尽管您会丢失详细信息,所以如果需要的话就无法访问它)。 是的,磁盘很便宜,但是如果您有很多指标并且长时间保持低分辨率数据,那么这可能是一个非常大的空间(在我们的情况下,它将是数百GB)

其次,这意味着合并工作将从制图时间转移到更新时间。 RRDTool可以非常快速地生成图形,因为如果存在所需配置的RRA,则大多数计算工作已在更新时在RRA中完成。 如果没有正确分辨率的RRA可用,则RRDtool将通过高粒度RRA快速执行合并,但这会花费时间和CPU。 RRDTool图形通常由CGI脚本动态生成,因此这很重要,尤其是在您希望收到大量查询的情况下。在您的示例中,使用单个5min RRA制作1.5yr图形(其中1pixel (大约1天),因此与生成1天粒度RRA相比,您需要读取和处理288倍的数据才能生成图表!

简而言之,是的,您可能只有一个RRA,让绘图工作更加困难。 如果您的特定实现需要更快的更新并且不关心图生成速度较慢,并且您需要在整个时间内保留详细数据,那么也许这对您来说是一个解决方案,并且可以以这种方式使用RRDTool。 但是,通常人们会针对图的生成和磁盘空间进行优化,这意味着使用粒度逐渐减小的RRA分层集。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM