Collectd插件报告的是绝对值,而不是delta,对于像“Counter”类型这样的RRD,mongo

时间:2012-02-27 20:55:34

标签: mongodb rrdtool openvz collectd

所以我正在为openvz_guest_bandwidth编写一个读取插件Collectd,在那里我通过使用Openvz来查询外部有多少带宽libiptc。每个客人正在做的带宽。

然后我将此信息报告给我写的write_mongodb plugin(可能与破损有关)

问题在于我在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") }

有趣的值在最后。我希望报告的值是连续记录之间的差异,而不是计数器读取的值。

这类似于COUNTER的RRD计数器类型,而不是我所理解的ABSOLUTE。

我非常坚持这一点,我不确定故障可能在哪里,甚至更进一步如何纠正它。错误可能是阅读或写作。

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

我似乎在value_list.pluginvalue_list.plugin_instance之间感到困惑。其他插件似乎使用的类型在内存集合中提供了一个非常无用的字段,例如"t: 'memory'"

1 个答案:

答案 0 :(得分:1)

Octo,collectd维护者指出write_mongodb插件没有使用某个函数调用和配置检查来查看它是否应该写入增​​量。

提交可以在这里找到 https://github.com/collectd/collectd/pull/38