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

How can I get rrdtool fetch to print out values using a 1 hr resolution

我正在尝试让 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

这些是我在 return 中得到的值:

 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

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

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

  • 您的 RRD 文件中没有定义 interval-3600、AVG cf RRA,或者
  • 你已经定义了一个,但它没有涵盖你所要求的时间window(注意fencepost错误)

如果用1小时的consolodation来定义一个全新的RRA太麻烦,那么你也可以选择使用rrdtool xport。这与 rrdgraph 相似,因为它会动态合并,但它输出数据而不是图像。不过,这比使用 rrdfetch 和正确定义的 RRA 效率低。

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

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