rrdtool graph ignoring --step?



我有多个月的PDP数据(5分钟间隔)的RRD文件。

对于一般用途的图形,当rrdtool自动决定使用哪个RRA来显示图形时,它很好。

但是我的一些图表在图例中包含95百分位数据,我需要从"精确"中计算。5分钟间隔数据,因为从聚合数据点计算百分位数(按其性质)可能导致严重错误的值。

  • 我可以从RRD文件中获取fetch数据,步长为300,我将获得正确的数据来计算我自己的
  • 百分位数
  • :当当步长为300时,即使时间范围相同,显示的百分位值也会因图形的width而变化,并且整个时间范围
  • 都有300s数据可用。
  • 如果1个月图的宽度为800px,则显示的百分位数(以及最大值)是错误的
  • 如果1个月图的宽度为8000px,则值是正确的(与获取数据的自计算值相匹配)

图:

...
--step 300
...
"VDEF:perca=a,95,PERCENT",
...

创建:

'-s', '300',
...
"RRA:AVERAGE:0.5:1:53568",      # 6 months pdp
"RRA:AVERAGE:0.5:12:8904",      # 1 hour, 1 year.
"RRA:AVERAGE:0.5:288:730",      # 1 day, 2 years.
"RRA:AVERAGE:0.5:2016:520",     # 1 week, 10 years.
"RRA:MAX:0.5:1:600",            # 5 min: 2 days
"RRA:MAX:0.5:12:8904",          # 1 hour, 1 year.
"RRA:MAX:0.5:288:730",          # 1 day, 2 years.
"RRA:MAX:0.5:2016:520",         # 1 week, 10 years

这是由于在VDEF计算之前执行了数据整合。

尽管您的rrdtool graph参数指定了300秒的步长,但这比图形的一个像素的宽度还小,因此在到达VDEF之前,将进一步平均数据序列。所有CDEFVDEF函数将始终与每像素一个cdp的时间序列一起工作。来自RRDTool手册:

注意:小于一个像素的步长将被静默忽略。

这意味着,虽然您可以降低数据的分辨率,但您不能增加它。遗憾的是,要获得准确的第95百分位,你需要更高分辨率的数据。

因此,如果在窄图中省略--step 300,将会发生如下情况:

  • 您要求1个月的时间窗口
  • RRDTool计算1个像素大约是1小时
  • DS从1小时RRA中检索平均时间序列,每像素1 cdp (IE小时)
  • VDEF然后将其合并到第95个百分位数
  • 第95百分位计算不准确

对于--step 300,过程略有不同,但结果相同:

  • 您要求1个月的时间窗口,步骤300
  • RRDTool计算1个像素大约是1小时
  • RRDTool DS从300s RRA中检索一个月的数据
  • RRDTool使用Average进一步将这些数据整合到每像素1cdp(每小时IE)
  • VDEF然后将其合并到第95个百分位数
  • 第95百分位计算不准确

所以,你可以看到最终的结果是一样的-只是300 ->1小时合并发生,要么在RRA,要么在图时间。

当使用宽图形时,每个像素的时间变得更小,并且RRDTool不再需要执行额外的数据合并,从而导致更准确的计算:

  • 您要求1个月的时间窗口
  • RRDTool计算1个像素大约5分钟
  • RRDTool DS从300s RRA中检索一个月的数据
  • 无需进一步合并
  • VDEF然后将其合并到第95个百分位数
  • 第95百分位的计算是准确的!

当您使用rrdtool fetch1检索原始数据时,则不会发生这种额外的合并,因此您得到:

  • 你要求一个1个月的时间窗口,步骤300
  • RRDTool DS从300s RRA中检索一个月的数据
  • 这些数据是输出
  • 你的电子表格然后计算第95个百分位数
  • 第95个百分位数的计算是正确的(好吧,你可以尽可能接近5分钟的间隔)

您的下一个问题可能是,我如何阻止这种情况发生?不幸的是,答案是你不能。RRDTool没有百分位类型CF,因此正确的计算不能在RRA中执行(这将是唯一真正的解决方案)。

MRTG的Routers2前端计算了图形的第95个百分位数,它的方法是执行高分辨率fetch来获取原始数据,并在制作图形时将其传递给HRULE之前在内部计算值。换句话说,由于您遇到的这个问题,它根本不使用VDEF

相关内容

  • 没有找到相关文章

最新更新