← Back to team overview

graphite-dev team mailing list archive

[Question #253369]: two aggregators problem

 

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

I have multiple web servers, each has one carbon installed with the following config:

- carbon.conf
[aggregator]
LINE_RECEIVER_INTERFACE = 0.0.0.0
LINE_RECEIVER_PORT = 8090
PICKLE_RECEIVER_INTERFACE = 0.0.0.0
PICKLE_RECEIVER_PORT = 8092
DESTINATIONS = graph.local:2014
REPLICATION_FACTOR = 1
MAX_QUEUE_SIZE = 20000
USE_FLOW_CONTROL = True
MAX_DATAPOINTS_PER_MESSAGE = 1000
MAX_AGGREGATION_INTERVALS = 20
LOG_LISTENER_CONN_SUCCESS = False

- aggregation-rules.conf
live.<server>.metric.<metric> (60) = sum live.<server>.metric.<metric>


Web server are sending metrics in plain text to  localhost:8090 for example "live.web1.metric.search 1408564809 1"


I have one server graph.local:2014 receiving all aggregated metrics with a carbon installed as followed:

- carbon.conf
[cache]
USER =
MAX_CACHE_SIZE = inf
MAX_UPDATES_PER_SECOND = 500
MAX_CREATES_PER_MINUTE = 50
LINE_RECEIVER_INTERFACE = 0.0.0.0
LINE_RECEIVER_PORT = 2003
ENABLE_UDP_LISTENER = False
UDP_RECEIVER_INTERFACE = 0.0.0.0
UDP_RECEIVER_PORT = 2003
PICKLE_RECEIVER_INTERFACE = 0.0.0.0
PICKLE_RECEIVER_PORT = 2004
USE_INSECURE_UNPICKLER = False
CACHE_QUERY_INTERFACE = 0.0.0.0
CACHE_QUERY_PORT = 7002
USE_FLOW_CONTROL = True
LOG_UPDATES = True
WHISPER_AUTOFLUSH = False

[aggregator]
LINE_RECEIVER_INTERFACE = 0.0.0.0
LINE_RECEIVER_PORT = 2013
PICKLE_RECEIVER_INTERFACE = 0.0.0.0
PICKLE_RECEIVER_PORT = 2014
DESTINATIONS = 127.0.0.1:2004
REPLICATION_FACTOR = 1
MAX_QUEUE_SIZE = 10000
USE_FLOW_CONTROL = True
MAX_DATAPOINTS_PER_MESSAGE = 500
MAX_AGGREGATION_INTERVALS = 5

- aggregation-rules.conf
live.all.metric.<metric> (60) = sum live.web*.metric.<metric>


On graphite I see both live.all.metric.search and live.web*.metric.search. 
live.web*.metric.search values are correct.
live.all.metric.search values are about a third higher than live.web*.metric.search
In carbong log it says live.web1.metric.search could not match aggregator rule.


1) Why do I see live.web*.metric.search ? Isn't suppose to not being sent to graphite because of the second aggregator?

2) Why live.all.metric.search value are a third more than live.web*.metric.search?

3) I use line receiver port on the first aggregator since my data are plain text, then this aggregator destination is the second aggregator (graph.local) pickle port. Is that correct ? Because if I use only line port on graph4.local aggregator and cache nothing is sent to graphite.

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