← Back to team overview

graphite-dev team mailing list archive

[Question #233781]: Help to config the aggragation

 

New question #233781 on Graphite:
https://answers.launchpad.net/graphite/+question/233781

Hello,
Perhaps I'm quite stupid but i can't configure the aggregation. Your help is welcome :)

My program sends 13 metrics each 30 seconds and I want to aggregate it in one minute.

To do this I use the storage-schemas.conf and storage-agregation.conf files (see at the end of this post).

To test my configuration I send 2 metrics and 2 others 30 second after.
metric1.Count 5050 1375974000
metric2.Temps 67 1375974000

metric1.Count 5050 1375974030
metric2.Temps 67 1375974030

I close the TCP connection at the end of the set (metric1 and metric2).

Graphite create two tables:

09/08/2013 14:21:39 :: [creates] new metric APP.metric2.Temps matched schema APP
09/08/2013 14:21:39 :: [creates] new metric APP.metric2.Temps matched aggregation schema Temps
09/08/2013 14:21:39 :: [creates] creating database file /opt/graphite/storage/whisper/APP/metric2/Temps.wsp (archive=[(60, 44640)] xff=0.0 agg=average)

09/08/2013 14:21:39 :: [creates] new metric APP.metric1.Count matched schema APP
09/08/2013 14:21:39 :: [creates] new metric APP.metric1.Count matched aggregation schema Count
09/08/2013 14:21:39 :: [creates] creating database file /opt/graphite/storage/whisper/APP/metric1/Count.wsp (archive=[(60, 44640)] xff=0.0 agg=sum)

As we can see the schema match to the configuration file and the good aggregation method is used. I can confirm this with whisper-info.py.

I watch the result with graphite-web and metic1.Count is always at 5050 and not 10100.

I don't understand why aggregation doesn't work.

Thanks for your help !


## storage-schemas.conf

cat storage-schemas.conf 
# Schema definitions for Whisper files. Entries are scanned in order,
# and first match wins. This file is scanned for changes every 60 seconds.
#
#  [name]
#  pattern = regex
#  retentions = timePerPoint:timeToStore, timePerPoint:timeToStore, ...

# Carbon's internal metrics. This entry should match what is specified in
# CARBON_METRIC_PREFIX and CARBON_METRIC_INTERVAL settings
[carbon]
pattern = ^carbon\.
retentions = 60:90d

[SIC]
pattern = ^SIC\.
retentions = 60s:31d

## storage-aggregation.conf

cat storage-aggregation.conf
# Aggregation methods for whisper files. Entries are scanned in order,
# and first match wins. This file is scanned for changes every 60 seconds
#
#  [name]
#  pattern = <regex>
#  xFilesFactor = <float between 0 and 1>
#  aggregationMethod = <average|sum|last|max|min>
#
#  name: Arbitrary unique name for the rule
#  pattern: Regex pattern to match against the metric name
#  xFilesFactor: Ratio of valid data points required for aggregation to the next retention to occur
#  aggregationMethod: function to apply to data points for aggregation
#
[min]
pattern = \.Min$
xFilesFactor = 0
aggregationMethod = min

[Q1]
pattern = \.Q1$
xFilesFactor = 0
aggregationMethod = average

[medianne]
pattern = \.Medianne$
xFilesFactor = 0
aggregationMethod = average

[moyenne]
pattern = \.Moyenne$
xFilesFactor = 0
aggregationMethod = average

[q3]
pattern = \.Q3$
xFilesFactor = 0
aggregationMethod = average

[max]
pattern = \.Max$
xFilesFactor = 0
aggregationMethod = max

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

[Temps]
pattern = \.Temps$
xFilesFactor = 0
aggregationMethod = average

-- 
You received this question notification because you are a member of
graphite-dev, which is an answer contact for Graphite.