4

我有一些旧的 rrdtool 数据库,其确切的创建方法早已丢失。我需要创建一个与当前数据库具有相同特征的新数据库。我已经转储了几个旧数据库并仔细研究了内容,但我不确定如何解释元数据。我认为它出现在以下节中

<cf> AVERAGE </cf>
<pdp_per_row> 360 </pdp_per_row> <!-- 1800 seconds -->
<xff> 5.0000000000e-01 </xff>

有四个这样的节,这与我记得循环级联的设置方式相对应。有没有人已经这样做了,或者可以告诉我如何从现有的数据库中克隆一个新的空 rrd 数据库?或者告诉我我在文档中错过了这个。

4

3 回答 3

5

我使用命令rrdcreate。它可以基于现有的 rrd 创建一个新的 rrd。-t 参数指示现有的 rrd 作为模板。

rrdcreate new.rrd -t existing.rrd

于 2017-09-19T19:45:31.980 回答
3

rrdtools 的rrdinfo是你的朋友!

它将告诉您如何创建 rrd 文件的数据源和存档。例子

$ rrdtool info random.rrd
filename = "random.rrd"
rrd_version = "0001"
step = 300
last_update = 955892996
ds[a].type = "GAUGE"
ds[a].minimal_heartbeat = 600
ds[a].min = NaN
ds[a].max = NaN
ds[a].last_ds = "UNKN"
ds[a].value = 2.1824421548e+04
ds[a].unknown_sec = 0
ds[b].type = "GAUGE"
ds[b].minimal_heartbeat = 600
ds[b].min = NaN
ds[b].max = NaN
ds[b].last_ds = "UNKN"
ds[b].value = 3.9620838224e+03
ds[b].unknown_sec = 0
rra[0].cf = "AVERAGE"
rra[0].pdp_per_row = 1
rra[0].cdp_prep[0].value = nan
rra[0].cdp_prep[0].unknown_datapoints = 0
rra[0].cdp_prep[1].value = nan
rra[0].cdp_prep[1].unknown_datapoints = 0
于 2008-10-06T08:08:35.923 回答
2

您可以尝试使用此处描述的克隆脚本。这是非常基本的,但它适用于简单的 rrd 文件。我用它来找出由 munin 生成的模式。我需要将旧数据插入 munin,因此我对架构进行了逆向工程,将 --start 设置为旧数据开始之前的日期,并将数据重新导入 rrd。

$ python rrdinfo-parser.py -f test.rrd
rrdtool create test.rrd --start 920804400 --step 300 \
DS:speed:COUNTER:600:U:U \
RRA:AVERAGE:0.5:1:24 \
RRA:AVERAGE:0.5:6:10 \
于 2011-03-01T09:02:54.620 回答