我不需要创建图表,而是需要简单地输出一个数字,该数字是所提供的某个日期范围的平均值、最大值或最小值。我已经很成功地使用了以下代码:
rrdtool graph a.png --start=1325484000 --end=1364472365 DEF:power=/data1/bpoll/rrd/ws3/pdu/pdu316/a.rrd:ct12:AVERAGE 'PRINT:power:AVERAGE:%2.1lf'
但是,查看文档,它说不建议指定CF
(在本例中为AVERAGE)。然而,我完全不了解新的格式。至少我无法完全理解它。如果我去掉CF
,它就会出错。我到底哪里错了?
PRINT:power:AVERAGE:%2.1lf
这是"旧风格"语法,你传递一个数据集和整合函数到PRINT
指令。
对于新格式,您使用VDEF
,因此不需要函数,因为VDEF
是单值的。但是,您需要事先定义VDEF
。
这是新的格式:
VDEF:avgpower:power,AVERAGE
PRINT:avgpower:%2.1lf
在这个例子中,我们定义了一个新的VDEF
值avgpower
并输出它。它与以前的旧语法代码具有相同的效果,但是是在新的语法中,它允许我们还向PRINT
语句添加修饰符,例如:strftime
,以打印最大值的时间点,等等。