0

因此,我正在为 Collectd 编写一个读取插件openvz_guest_bandwidth 通过使用libiptc查询每个来宾正在执行的外部带宽,我读取了Openvz来宾正在执行多少带宽。

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

问题是我在 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.plugin困惑value_list.plugin_instance。其他插件似乎使用的类型提供了一个非常无用的字段,例如"t: 'memory'"内存集合内部。

4

1 回答 1

1

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

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

于 2012-02-28T20:12:47.053 回答