Database 添加新数据源后,对RRD的更新失败

Database 添加新数据源后,对RRD的更新失败,database,rrdtool,rrd,Database,Rrdtool,Rrd,一点背景 我有一个单独的RRD,用于保存1500多个单独RRD的聚合值(我正在监控1500多个设备)。我这样做是为了在我希望从保存我正在查找的数据的每个受监控设备获取值时,不会达到1500+RRD。我不断增加这组受监控的设备,因此我做了一些xml编辑(很像contrib perl脚本,它将新数据源添加到现有的RRD中),以说明我的新设备。RRD的更新每小时进行一次 RRD是用此创建的 --step 3600 --start now DS: [$cabinet-totalw] :GAUGE:7

一点背景 我有一个单独的RRD,用于保存1500多个单独RRD的聚合值(我正在监控1500多个设备)。我这样做是为了在我希望从保存我正在查找的数据的每个受监控设备获取值时,不会达到1500+RRD。我不断增加这组受监控的设备,因此我做了一些xml编辑(很像contrib perl脚本,它将新数据源添加到现有的RRD中),以说明我的新设备。RRD的更新每小时进行一次

RRD是用此创建的

--step 3600 
--start now 
DS: [$cabinet-totalw] :GAUGE:7200:U:U"
RRA:AVERAGE:0.5:1:4392
RRA:AVERAGE:0.5:24:366
RRA:AVERAGE:0.5:744:36
RRA:MIN:0.5:24:732
RRA:MAX:0.5:24:732
仅供参考-$CAB totalw实际上是for循环中的一个变量。最初的构建是通过大约1300个机柜进行的。我不想把所有的东西都列在这里

问题 将新设备添加到受监控组时,数据源将添加到聚合RRD文件。但是,当更新启动时,由于未知原因,它实际上不会更新RRD。当我手动执行此操作时,
updatev
的值为零。如果我查看
xport
输出,我有
NAN
用于任何新数据源数据。然而,所有现有的数据源似乎都在毫无问题地更新

现在我不明白为什么会发生这种事。一切似乎都井然有序,但对新RRD数据源的更新却没有进行。更有趣的是,我在过去向该文件添加了数据源,并且这些数据源的更新没有问题。只是最近的更新似乎不适用

我还应该补充一点,
lastupdate
实际上显示了。。。最后一次更新是正确的。所以我认为这是因为我缺乏RRD知识

添加
我写了一个脚本,获取我感兴趣的
DS
的索引。然后,我解析
rrdtool fetch
的输出,根据每个时间间隔的索引找到请求的值。我发现这些值实际上正在更新并存储在RRD中。有趣的是,时间戳显示分配的时间段后7分钟(步骤为3600,因此数据应存储在小时)。我现在认为这是一个插值问题

我发现了我的问题。当我更新xml文件中的rrd数据时(在它被转储之后),我错误地向ds值和最小/最大值添加了错误的默认值。需要将节点值从
NaN
更改为
0.0000000000 e+00
,将最小/最大值从
0.0000000000 e+00
更改为
NaN

如果有人想帮忙,谢谢你