因此,我正在为 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'"
内存集合内部。