如何使用1小时分辨率获取rrdtool fetch以打印出值

时间:2017-06-28 18:47:53

标签: rrdtool rrd

我试图让rrdtool fetch打印出分辨率设置为1小时的值。

我已将-r设置为3600(一小时3600秒),并将开始和结束时间设置为3600的倍数,但rrdtool只是以半小时为增量而不是1小时继续打印输出值增量。

我需要做些什么才能使其正常工作?

这是我使用的命令:

rrdtool fetch -e 1498672800 -s e-5h -r 3600 /opt/observium/rrd/dcwinsciv001-vl2541.edc.nam.gm.com/cras_sessions.rrd AVERAGE

这些是我得到的值:

 1498656600: 0.0000000000e+00 0.0000000000e+00 0.0000000000e+00 1.0000000000e+00 9.8753100135e+02 0.0000000000e+00
1498658400: 0.0000000000e+00 0.0000000000e+00 0.0000000000e+00 1.0000000000e+00 1.0012858198e+03 0.0000000000e+00
1498660200: 0.0000000000e+00 0.0000000000e+00 0.0000000000e+00 1.0000000000e+00 1.0184441667e+03 0.0000000000e+00
1498662000: 0.0000000000e+00 0.0000000000e+00 0.0000000000e+00 1.0000000000e+00 9.8139826741e+02 0.0000000000e+00
1498663800: 0.0000000000e+00 0.0000000000e+00 0.0000000000e+00 1.0000000000e+00 9.4889630432e+02 0.0000000000e+00
1498665600: 0.0000000000e+00 0.0000000000e+00 0.0000000000e+00 1.0000000000e+00 9.4899529819e+02 0.0000000000e+00
1498667400: 0.0000000000e+00 0.0000000000e+00 0.0000000000e+00 1.0000000000e+00 9.4413469288e+02 0.0000000000e+00
1498669200: 0.0000000000e+00 0.0000000000e+00 0.0000000000e+00 1.0000000000e+00 9.3376060699e+02 0.0000000000e+00
1498671000: 0.0000000000e+00 0.0000000000e+00 0.0000000000e+00 1.0000000000e+00 9.4768248388e+02 0.0000000000e+00
1498672800: 0.0000000000e+00 0.0000000000e+00 0.0000000000e+00 1.0000000000e+00 9.4868378807e+02 0.0000000000e+00
1498674600: 0.0000000000e+00 0.0000000000e+00 0.0000000000e+00 1.0000000000e+00 9.4866400630e+02 0.0000000000e+00

1 个答案:

答案 0 :(得分:4)

当您使用rrdfetch时,RRDTool将尝试将最接近的数据集返回到您的要求。但是,可能的取决于您在RRD文件中定义的RRA。

您请求的间隔为3600(1小时),但您提取的数据间隔为1800(30分钟)。这意味着要么 -

  • 您的RRD文件中没有定义间隔-3600,AVG cf RRA,或
  • 您已经定义了一个,但它没有涵盖您请求的时间窗口(注意fencepost错误)

如果用1小时的组合定义一个全新的RRA太麻烦,那么你也可以选择使用rrdtool xport。这与rrdgraph类似,因为它会在运行中进行组合,但它会输出数据而不是图像。但是,这比使用具有正确定义的RRA的rrdfetch效率低。

rrdtool xport -e 1498672800 -s e-5h --step 3600 \ DEF:data=cras_sessions.rrd:dsname:AVERAGE \ XPORT:data:Data

此示例假设您的DS被称为dsname,并将以请求的3600分辨率输出值,因为它将动态地汇总30分钟的数据。