我正在尝试创建COMMAND JSON数据源来监控某些值,例如来自这样的脚本:
print json.dumps({
'values': {
'': {'random': random()},
},
'events': []
})
当我刚刚启动zencommand时,会创建适当的rrd文件,但图上的cur,avg和max值显示为NaN。当我放大到当前时间点时,NaNs被实际数字替换,这距离监控开始并不是很远。
为什么在我放大之前它没有显示正确的最小值,最大值和平均值?这是否与合并有关?我读过http://www.vandenbogaerdt.nl/rrdtool/min-avg-max.php,但该页面没有说明NaN值。
是否可以更快地放大到当前时间戳以更快地查看某些数据?
答案 0 :(得分:1)
当你缩小时,你会看到较低粒度的RRA(Round Robin Archives)。只有在数据量较高的数据中才会填充这些数据;因此,例如,如果您有5分钟粒度RRA,1小时粒度RRA和1天粒度RRA,并且已经收集了最后45分钟的数据,那么您将在'中看到~8个数据点。每日'图表(使用5分钟RRA),但您的每月' (将使用1小时RRA)或您的“每年”#39; (使用1天RRA)。
这适用于任何RRA; AVG,LAST,MAX等。在整合时间窗口完成之前,已收集完整的主要数据点进行合并,未合并整合数据点值。
RRDTool根据请求的图形数据宽度和像素宽度以及请求的合并功能选择要使用的RRA。尽管有一些方法可以强制RRDtool使用比它需要的更高粒度的RRA,并且在运行中进行整合,但这种方法效率低且速度慢。它还使得粒度较低的RRA毫无意义,并且抛弃了RRDtool的一个主要优点(它在更新时执行整合,使图形更快)