2016-06-06 3 views
1

Ich habe folgende Aggregationsregel:Carbon-Aggregator Wieder Aggregieren metrisch

abc.prod.ALL.<service>.<metric>.count (60) = sum abc.local.*.<service>.<<metric>>.count Da Metriken wie:

abc.prod.host1.aservice.ametric.count 
abc.prod.host2.aservice.ametric.count 

ich sie aggregiert werden erwartet zu

abc.prod.ALL.aservice.ametric.count

Aber diese Metrik wird niemals erstellt. In Aggregator logs, ich sehe

für neue Metrik-Puffer Allokierung abc.prod.ALL.aservice.ametric.count

aber es wird nicht erstellt. Wenn ich eine Schicht auf die erzeugte Metrik wie hinzufügen:

abc.prod.extralayer.ALL.<service>.<metric>.count (60) = sum abc.local.*.<service>.<<metric>>.count

dann scheinen wir wie eine rekursive Explosion erstellt Metriken zu erhalten:

abc.prod.extralayer.ALL.aservice.ametric.count 
abc.prod.extralayer.ALL.ALL.aservice.ametric.count 
abc.prod.extralayer.ALL.ALL.ALL.aservice.ametric.count 
abc.prod.extralayer.ALL.ALL.ALL.ALL.aservice.ametric.count 

Was mich dazu gebracht zu glauben, dass die Metrik erzeugte dann wieder aggregiert ...

ich eine Logging-Linie zu AggregationProcessor.process hinzugefügt:

else: 
    log.clients("Found aggregate " + aggregate_metric + " for " + metric) 
    aggregate_metrics.add(aggregate_metric) 

Und dann versuchte mit meiner ursprünglichen, gewünschten Regel .. und ich begann schließlich zu sehen, loglines wie:

Gefunden Aggregat abc.prod.ALL.aservice.ametric.count für abc.prod.ALL. aservice.ametric.count

Es passte sich an, als wäre es eine neue eingehende Metrik ... Warum wird es in den Aggregator zurückgespeist?

Antwort

0

Dies scheint ein Fehler gewesen zu sein. Es war nicht in der älteren Version, aber war zum Zeitpunkt meiner Frage in Meister.

Wenn Sie dieses Verhalten sehen, folgen Sie dem Problem auf GitHub: https://github.com/graphite-project/carbon/issues/560 https://github.com/graphite-project/carbon/issues/455

Es hat keinen Sinn, die Frage hier auf SO fortzusetzen.

Hinweis: Ich benutze die ältere Version, 0.9.15 und sehe das Problem nicht - also empfehle ich dies, bis es bestätigt ist, nicht in Master aufgelöst werden.