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