Mongodb Collectd插件报告的是一个绝对值,而不是增量,类似于“RRD”;柜台;输入,到mongo

Mongodb Collectd插件报告的是一个绝对值,而不是增量,类似于“RRD”;柜台;输入,到mongo,mongodb,rrdtool,openvz,collectd,Mongodb,Rrdtool,Openvz,Collectd,因此,我正在编写一个读取插件,用于读取来宾正在使用的带宽,通过使用来查询每个来宾正在使用的外部带宽 然后,我将此信息报告给我所写的客户(可能与破损有关) 问题是我在mongo看到的记录像 { "_id" : ObjectId("4f480c15573fa191fa838140"), "ts" : ISODate("2012-02-24T22:15:33Z"), "h" : "62f34634-0fac-4b5f-a7a5-45532ef6dd3b", "i" : "rx", "t" : "cou

因此,我正在编写一个读取插件,用于读取来宾正在使用的带宽,通过使用来查询每个来宾正在使用的外部带宽

然后,我将此信息报告给我所写的客户(可能与破损有关)

问题是我在mongo看到的记录像

{ "_id" : ObjectId("4f480c15573fa191fa838140"), "ts" : ISODate("2012-02-24T22:15:33Z"), "h" : "62f34634-0fac-4b5f-a7a5-45532ef6dd3b", "i" : "rx", "t" : "counter", "ti" : "", "value" : NumberLong("3970318241") }
{ "_id" : ObjectId("4f480c15573fa191fa838141"), "ts" : ISODate("2012-02-24T22:15:34Z"), "h" : "62f34634-0fac-4b5f-a7a5-45532ef6dd3b", "i" : "tx", "t" : "counter", "ti" : "", "value" : NumberLong(50070094) }
{ "_id" : ObjectId("4f480c15573fa191fa838142"), "ts" : ISODate("2012-02-24T22:15:34Z"), "h" : "62f34634-0fac-4b5f-a7a5-45532ef6dd3b", "i" : "rx", "t" : "counter", "ti" : "", "value" : NumberLong("3970322447") }
{ "_id" : ObjectId("4f480c15573fa191fa838143"), "ts" : ISODate("2012-02-24T22:15:35Z"), "h" : "62f34634-0fac-4b5f-a7a5-45532ef6dd3b", "i" : "tx", "t" : "counter", "ti" : "", "value" : NumberLong(50070094) }
{ "_id" : ObjectId("4f480c15573fa191fa838144"), "ts" : ISODate("2012-02-24T22:15:35Z"), "h" : "62f34634-0fac-4b5f-a7a5-45532ef6dd3b", "i" : "rx", "t" : "counter", "ti" : "", "value" : NumberLong("3970325247") }
有趣的值在末尾。我希望报告的值是连续记录之间的差值,而不是计数器读取的值

这类似于RRD计数器类型的计数器,而不是我所理解的绝对计数器

我对此非常困惑,不确定错误可能在哪里,甚至不确定如何进一步纠正它。错误可能在阅读或写作方面

作为旁注,在值到达write_mongodb之前,它们通过collectd网络插件发送


我似乎把
value\u list.plugin
value\u list.plugin\u instance
搞混了。其他插件似乎使用的类型在内存集合中提供了一个非常无用的字段,例如
“t:'memory'

Octo,collectd维护人员指出,write\u mongodb插件没有使用特定的函数调用和配置检查来查看是否应该写入增量

提交可以在这里找到