No data appears on graphs outside of first retention bucket

Asked by Andrew Petersen

Across all of my metrics, when I view graphs using a relative time span of 6 hours, I get graphs full of data. When I change that value to 12 hours, all of my graphs are blank (y axis is from 0 to 1.0). This is for all the metrics I'm collecting, which is from 5 different servers. The graphs are also blank if I do an absolute timespan greater than 6 hours.

Here are my retentions:

pattern = .*
retentions = 1s:6h,10s:12h,60s:7d,10m:3y

I take this to mean that I should have data at 1 second resolution for 6 hours, 10 second resolution for 12hours, 1 minute resolution for a week, and 10 minute resolution for 3 years. As I'm getting more and more familiar with Graphite, I'm wondering if the 1 second resolution is actually more detrimental than useful...

Data collection has been running for at least 16 hours, and I'm running graphite/carbon/whisper 0.9.9.

Here is the result of running whisper-info.py on one of my cpu metrics:

maxRetention: 94608000
xFilesFactor: 0.5
aggregationMethod: average
fileSize: 2324224

Archive 0
retention: 21600
secondsPerPoint: 1
points: 21600
size: 259200
offset: 64

Archive 1
retention: 43200
secondsPerPoint: 10
points: 4320
size: 51840
offset: 259264

Archive 2
retention: 604800
secondsPerPoint: 60
points: 10080
size: 120960
offset: 311104

Archive 3
retention: 94608000
secondsPerPoint: 600
points: 157680
size: 1892160
offset: 432064

Thanks for any help you can provide!

Question information

Language:
English Edit question
Status:
Solved
For:
Graphite Edit question
Assignee:
No assignee Edit question
Solved by:
Andrew Petersen
Solved:
Last query:
Last reply:
Revision history for this message
Andrew Petersen (kirbysayshi) said :
#1

I discussed this on IRC the other day, and while I'm still working out the ideal values, I believe the storage-aggregation.conf file was my solution. Below is the discussion I had. Thanks mleinart!

mleinart: i mean if you have the space and the i/o bandwidth and you determine how you want the rollup to behave (zooming out), why not i guess

kirbysayshi: when you say, "determine the rollup", is that something that is configured globally, or per graph through a function?

mleinart: though with collectd at 10 seconds I'd add a schema entry for it to make it 10 seconds. if you only have 1 of every 10 data point filled in, the default xFilesFactor (percent of data required to not drop the point on rollup) will cause your graphs to disappear when zoomed out

kirbysayshi: ah ha!

mleinart: this is probably the best doc on it currently: http://readthedocs.org/docs/graphite/en/latest/config-carbon.html#storage-aggregation-conf

kirbysayshi: I've been having a problem where passed the first retension bucket, all my graphs were blank.

mleinart: you configure it very similar to storage-schemas.conf
mleinart: yeah you *can* set the xFilesFactor to 0 to disable dropping anything
mleinart: but you generally want to strive to have every point filled if it's at a regular interval

kirbysayshi: alright, I'll definitely take a lot at storage-aggregation. I initially dismissed it because I'm only running one carbon-cache, and assumed it was for multiples.

mleinart: yeah ignore the similarly named aggregation-rules.conf

Revision history for this message
Mike Wylie (madcow-uk) said :
#2

Hi,

I'm sorry I didn't follow the answer for this question.

Will the graphing front end draw graphs across different retention periods? or is it restricted only to the first period?

my first retention period is 30d and I can't get graph's drawn after that. My retention values are:
[carbon]
pattern = ^carbon\.
retentions = 60:90d

[default]
pattern = .*
retentions = 20s:30d,900s:3y

and my aggregation values are:

[min]
pattern = \.min$
xFilesFactor = 0.1
aggregationMethod = min

[max]
pattern = \.max$
xFilesFactor = 0.1
aggregationMethod = max

[sum]
pattern = \.count$
xFilesFactor = 0
aggregationMethod = sum

[default_average]
pattern = .*
xFilesFactor = 0.5
aggregationMethod = average

many thanks