打印LAST值记录的时间



我希望能够看到记录RRD中的最后一个值的时间。

我有以下命令来打印最后记录的值,它工作正常。

DEF:temp1=temperatures2.rrd:iliakos:AVERAGE
GPRINT:temp1:LAST:"Current:%8.1lf %s"

我在文档中找到了:strftime,我尝试了:

 GPRINT:temp1:LAST:"%H:%M":strftime 

但有:

 graph.sh: line 21: GPRINT:temp1:LAST:%H:%M:strftime: command not found

我更仔细地阅读了文档,它提到strftime应用于VDEF所以我尝试了以下操作:

VDEF:vtemp1=temp1,AVERAGE
GPRINT:vtemp1:LAST:"%H:%M":strftime  

但再次得到:

ERROR: I don't understand ':%H:%M:strftime' in command: 'GPRINT:vtemp1:LAST:%H:%M:strftime'

我认为rrd中的值有一个相关的记录时间戳,正如我们从转储中看到的那样。我们如何访问这个访问这个时间戳,并在图形命令中使用它?

谢谢

当rrdtool graph需要来自rrd文件的数据时,它简单地声明一个时间范围,并作为响应获取交付的数据。无论rrd文件是否实际保存了该时间范围的数据或注释。如果没有可用的数据,则传递给图形组件的数据由nan组成。

所以你最多能回答的问题是,最后一次"已知"数据被写入rrd文件是什么时候。

您尝试使用strftime函数是好的,但您需要跳过另一个圈。您需要为所有可用数据的时间点准备一些随时间增长的数据。这就是CDEF所完成的。然后,您可以使用VDEF来确定最大的count值并检索与该值相关联的时间戳。

rrdtool graph x.png 
   DEF:data=x.rrd:x:AVERAGE 
   CDEF:count=data,UN,UNKN,COUNT,IF 
   VDEF:last=count,MAXIMUM 
   GPRINT:last:%H:%M:%S:strftime

相关内容

  • 没有找到相关文章

最新更新