Graph rrdtool图形忽略--步骤?
我有包含多个月PDP数据的RRD文件(间隔5分钟) 对于通用图形,当rrdtool自动决定使用哪个RRA来显示图形时,它会很好 但我的一些图表在图例中包含95%的数据,我需要根据“精确”的5分钟间隔数据来计算,因为从聚合数据点计算百分位(从本质上讲)可能会导致严重错误的值。”Graph rrdtool图形忽略--步骤?,graph,percentile,rrdtool,rrd,Graph,Percentile,Rrdtool,Rrd,我有包含多个月PDP数据的RRD文件(间隔5分钟) 对于通用图形,当rrdtool自动决定使用哪个RRA来显示图形时,它会很好 但我的一些图表在图例中包含95%的数据,我需要根据“精确”的5分钟间隔数据来计算,因为从聚合数据点计算百分位(从本质上讲)可能会导致严重错误的值。” 我可以以300的步长从RRD文件中获取数据,我将获得正确的数据,自己计算百分位数 问题:当以300步长绘制图形时,显示的百分位值根据图形的宽度而变化,即使时间范围相同,并且整个时间范围都有300秒的数据可用 如果1个月图
- 我可以
以300的步长从RRD文件中获取
数据,我将获得正确的数据,自己计算百分位数
- 问题:当以300步长绘制图形时,显示的百分位值根据图形的
而变化,即使时间范围相同,并且整个时间范围都有300秒的数据可用宽度
- 如果1个月图表的宽度为800px,则显示的百分比(以及最大值,例如)是错误的
- 如果1个月图形的宽度为8000px,则值是正确的(与从提取数据中自行计算的值相匹配)
这是由于在
VDEF
计算之前执行了数据合并
尽管rrdtool图形
参数指定的步长为300秒,但它的宽度小于图形的一个像素,因此在到达VDEF
之前,将进一步平均数据序列。所有的CDEF
和VDEF
功能将始终以每像素一个cdp的时间序列工作。从RRDTool手册:
注意:小于一个像素的步长将被忽略
这意味着,虽然可以降低数据的分辨率,但不能提高分辨率。遗憾的是,要获得准确的第95百分位,需要更高分辨率的数据
因此,如果在一个窄图中省略——步骤300
,将会发生以下情况:
- 你要求一个月的时间窗口
- RRDTool计算1像素约为1小时
- DS从1小时RRA中检索平均时间序列,每像素一个cdp(即小时)
- VDEF然后将其合并为第95个百分位
- 第95百分位计算不准确
--步骤300
,过程略有不同,但结果相同:
- 您请求一个1个月的时间窗口,步骤300
- RRDTool计算1像素约为1小时
- RRDTool DS从300秒RRA中检索一个月的数据
- RRDTool使用平均值将此数据进一步整合到每像素1cdp(即每小时)
- VDEF然后将其合并为第95个百分位
- 第95百分位计算不准确
- 你要求一个月的时间窗口
- RRDTool计算1像素约为5分钟
- RRDTool DS从300秒RRA中检索一个月的数据
- 无需进一步合并
- VDEF然后将其合并为第95个百分位
- 第95个百分位数的计算是准确的李>
rrdtool fetch
1检索原始数据时,此额外的合并不会发生,因此您会得到:
- 您在步骤300中要求1个月的时间窗口
- RRDTool DS从300秒RRA中检索一个月的数据
- 这些数据被输出
- 然后,您的电子表格将计算第95个百分位数
- 第95个百分位数的计算是正确的(间隔5分钟,尽可能接近)
MRTG的Routers2前端计算了图形的第95个百分位,其方法是执行高分辨率的
获取
,以获取原始数据并在内部计算值,然后在制作图形时将其传递到规则
。换句话说,由于您遇到的这个问题,它根本不使用VDEF
。您能给出完整的图形命令,包括DS定义和开始/结束吗?我怀疑问题在于隐式RRA选择,可能是由于fencepost错误
...
--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