0

为什么用于更新 rrd 的值与获取的值不同

我用它来更新:1353702000:2000

当我获取时我得到了这个:1353702000: 1.6666666667e+00

  • 有没有办法获取输入的数字?
  • 有没有办法格式化时间戳和数字?

细节:

我创建了这个数据库:

rrdtool create datafile.rrd DS:packets:ABSOLUTE:900:0:10000000 RRA:AVERAGE:0.5:1:9600 RRA:AVERAGE:0.5:4:9600 RRA:AVERAGE:0.5:24:6000

我用这个时间戳和值更新了数据库:

rrdtool update datafile.rrd 1353702000:2000

我用这个获取数据库

rrdtool fetch datafile.rrd AVERAGE -r 90 -s -1h

我得到了这个

1353700800: nan
1353701100: nan
1353701400: nan
1353701700: 1.6666666667e+00
1353702000: 1.6666666667e+00
1353702300: 3.3333333333e+00
1353702600: 3.3333333333e+00
1353702900: 6.6666666667e+00
1353703200: nan
1353703500: nan
1353703800: nan
1353704100: nan
1353704400: nan

谢谢

4

2 回答 2

0

获得这些值的原因有两个。

首先,您为数据键入“绝对”,这意味着它将除以自上次更新以来的时间以给出每秒速率。如果您希望按原样存储值,请使用类型 GAUGE。如果该值不断增加(例如使用 SNMP 网络接口数据包计数器),则使用 COUNTER 获取变化率。

其次,数据规范化。如果样本不在间隔边界上(IE,在这种情况下,时间戳 mod 300 = 0),它们将被调整以适应时间。为避免这种情况,请在间隔边界上提交带有时间戳的样本。

于 2014-01-19T01:37:49.997 回答
0

用作GAUGE数据存储类型,而不是ABSOLUTE

于 2013-07-18T14:13:55.107 回答