そこで、私は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") }
興味深い値が最後にあるところ。報告された値は、カウンターが読み取る値ではなく、連続するレコード間の差であると予想します。
これは、私が理解しているように、ABSOLUTEではなくCOUNTERのRRDカウンタータイプに類似しています。
私はこれにかなり固執していて、どこに障害があるのか、さらにそれを修正する方法がわかりません。障害は、読み取りまたは書き込みのいずれかにある可能性があります。
ちなみに、値がwrite_mongodbに到達する前に、値はcollectdネットワークプラグインを介して送信されます。
value_list.plugin
さらに、私はとの間で混乱しているようですvalue_list.plugin_instance
。"t: 'memory'"
他のプラグインは、メモリコレクション内など、本当に役に立たないフィールドを提供するタイプを使用しているようです。