Diamond is a python daemon that collects system metrics and publishes them to Graphite (and others). It is capable of collecting cpu, memory, network, i/o, load and disk metrics. Additionally, it features an API for implementing custom collectors for gathering metrics from almost any source.
I was studying the issue of MongoDbCollector providing zero metrics for MongoDb in Graphite. Finally, I saw via catching the traffic that the MongoDB collector sends data sets like those below:
sum up the COUNTER type of metrics, use the last one for GAUGE, before sending to Graphite
add an option to send data to Graphite aggregator (that would require additional setup on Graphite side)
Currently, the above collector became meaningless and I perhaps will try to use the first "hack" to send actual data at a cost of wasting more RAM on Diamond side.
OS: Ubuntu 16.04, Diamond: 4.0.515
I was studying the issue of MongoDbCollector providing zero metrics for MongoDb in Graphite. Finally, I saw via catching the traffic that the MongoDB collector sends data sets like those below:
The result: zero values are stored in Graphite.
Possible solutions could be:
Currently, the above collector became meaningless and I perhaps will try to use the first "hack" to send actual data at a cost of wasting more RAM on Diamond side.