Le plugin Collectd rapporte une valeur absolue au lieu du delta, pour RRD comme le type « Counter », à mongo

StackOverflow https://stackoverflow.com/questions/9472126

Question

J'écris donc un plugin de lecture, openvz_guest_bandwidth, pour Collecté où j'ai lu combien de bande passante Ouvrirvz que font les invités, en utilisant libiptc pour interroger la quantité de bande passante externe utilisée par chaque invité.

Je signale ensuite cette information au plugin write_mongodb que j'ai écrit, (ce qui pourrait être lié à la casse)

Le problème est que je vois des enregistrements en mongo comme :

{ "_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") }

Où sont les valeurs intéressantes à la fin.Je m'attendrais à ce que les valeurs signalées correspondent à la différence entre les enregistrements consécutifs, au lieu de ce que lit le compteur.

Ceci est analogue au type de compteur RRD de COUNTER au lieu d'ABSOLU si je comprends bien.

Je suis assez coincé là-dessus et je ne sais pas où se situe la faute, ni encore plus comment la corriger.La faute peut être soit en lecture, soit en écriture.

En remarque, avant que les valeurs n'atteignent write_mongodb, elles sont envoyées via le plugin réseau collectd.

De plus, j'ai l'impression d'être confus entre value_list.plugin et value_list.plugin_instance.D'autres plugins semblent utiliser des types qui donnent un champ vraiment inutile comme "t: 'memory'" à l'intérieur de la collection de souvenirs.

Était-ce utile?

La solution

Octo, le responsable de collectd a souligné que le plugin write_mongodb n'utilisait pas un certain appel de fonction et une vérification de configuration pour voir s'il devait écrire des deltas.

Le commit peut être trouvé icihttps://github.com/collectd/collectd/pull/38

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top