RRD - 如何绕过非合并 CDP 的 MIN 和 MAX RRA 为 NaN 的限制

RRD - How to bypass the limitation of MIN and MAX RRAs being NaN for non consolidated CDPs

假设我有一个包含 3 个数据源的 RRD:rtt_minrtt_avgrtt_max 存储来自网络数据包往返时间测试的数据。每个DS的解释都比较明显:

这些树浮点值在每次测试后存储在 RRD 文件中(假设频率与 RRD 步长值相同)。我的目标是绘制 rtt_avg 值以及 rtt_minrtt_max 作为边界值。有两种明显的情况:

  1. 我可以为每个 DS 绘制 AVERAGE 图表,这将为 RRA 生成准确的结果,其中每一行都有一个 PDP(1CDP = 1PDP;最新数据没有合并)。但是对于旧数据,rtt_minrtt_max 的平均值不是我想要的,因为我需要绘制这两个数据源的最小值和最大值,而 AVERAGE 函数不是最好的。

  2. 我可以绘制 rtt_min:MINrtt_avg:AVERAGErtt_max:MAX 的图形,这将按照我想要的合并(旧)数据的方式运行,绘制最小值、平均值和最大值合并间隔的 DS 值,但将为 rtt_minrtt_max 的最新数据提供低分辨率数据。这是因为 MINMAX CDP 在 1PDP RRA 中是 NaN。只有在整合之后,这些 CDP 才有价值,但使用它们会得到较低分辨率的数据,因为每个 CDP 都有多个 PDP。而这两个在分辨率更高的 rtt_avg 旁边看起来会很奇怪。

我需要两者的结合。由于 MINMAX 对于 1PDP RRA 是 NaN,是否有一种简单的方法来绘制 rtt_max:LAST 期间有数据的 LAST,以及更早的数据要使用的数据 rtt_max:MAX?我现在能想到的唯一解决方案是以某种方式计算我们在 LAST 中有数据的时间,并在该时间之前绘制 MAX 和之后的 LAST

I can graph rtt_min:MIN, rtt_avg:AVERAGE and rtt_max:MAX which would behave as i want

这是你应该做的;对 MIN 和 MAX 类型使用不同的 CF。

but would provide low resolution data for latest data for rtt_min and rtt_max. This is because MIN and MAX CDPs are NaN in 1PDP RRAs.

这不应该是这样的。对于 1PDP RRA,MIN 和 MAX 应该给出与 AVERAGE 相同的结果。我认为可能发生这种情况的唯一原因是您使用不正确的 xff 或心跳错误定义了 RRA 或 DS。

如果没有你的 RRD 的定义,我不能确定,但​​我想是这样的。过去,我在 1pdp-RRA 上使用 MAX 和 MIN 没有问题。

一个潜在的问题是,有时 RRA 中的最后一个值是未知的 (NaN),因为直到该时隙完全过去并收到新的数据样本时才设置它。过去,我检索了 RRD 的最后更新时间并将其用作图形基准时间而不是 'now' 以避免这种情况。如果您的更新频率相对较小,那么这应该不是问题。