Question

I have the following in my storage-schemas.conf

[collectd]
pattern = ^machine\.
retentions = 60s:1d, 1m:14d

[grinder]
pattern = ^grinder\.
retentions = 10s:2d, 1m:14d

[catchall]
pattern = ^.*
retentions = 10s:2d, 1m:14d

But only the [catchall] is being matched against names like machine.super_foo.cpu.0.cpu.nice

Was it helpful?

Solution 2

It turns out that I am using an older version of Carbon that I thought and the new notation is not supported:

Additionally, whisper supports a legacy retention specification for backwards compatibility reasons - seconds-per-datapoint:count-of-datapoints

retentions = 60:1440

60 represents the number of seconds per datapoint, and 1440 represents the number of datapoints to store. This required some unnecessarily complicated math, so although it’s valid, it’s not recommended.

http://graphite.readthedocs.org/en/latest/config-carbon.html

I used this script to validate the config:

https://github.com/graphite-project/carbon/blob/master/bin/validate-storage-schemas.py

OTHER TIPS

Try- pattern = ^machine\.*

Most probably, your issue is the following, (based of-course on my assumptions)- You are verifying the header catching the metric by looking at the granularity of the data-points in the webapp. There is a downside to this. This storage schema is used once per .wsp file creation. So while running your tests if it matched catchall, it will continue to store it in that schema forever until Grandalf returns.

The workaround is that you delete the .wsp files of your test metrics which would be- /opt/graphite/storage/whisper/stats/machine/super_foo/cpu/0/cpu/nice.wsp if you're spinning it with defaults.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top