1

しばらくの間 Graphite を使用しており、最近、一部のメトリックのソースを statsd から yammer/codahale-metrics に変更しました。通常、メトリクスは多数の異なるサーバーから送信されるため、それを処理するために Graphite 独自のアグリゲーターをセットアップします。

ここでの問題は、個々のサーバーの統計が表示され、問題なく動作することですが、集計された統計は常に最後の 1 時間程度のものしか正しくありません。古い集計値は、しばらくすると何らかの形で変更されることを意味します。これがどのように見えるかのイメージです: グラフ 緑色の線は、集計されるべきメトリックの単なる sumSeries であり、青色の線は、アグリゲーターが生成したものです。両方の線が過去 1 時間だけ調和していることに注意してください。

もちろん、ストレージ/集約/保持ルールを調べましたが、それらはすべて非常に基本的なものであり、すべてのメトリックを均等にカバーする必要があります (基本的に、わずか 1 時間後には有効になりません)。

storage-schemas.conf

[stats]
priority = 110
pattern = .*
# store 60s for 30d, then 15 minutes 350400 (10 years)
retentions = 60:43000,900:262974

storage-aggregation.conf

[kv]
pattern = \.kv\.
xFilesFactor = 0.2
aggregationMethod = average 

[counts]
pattern = \.counts\.
xFilesFactor = 0
aggregationMethod = sum

[timers]
pattern = \.timers\.
xFilesFactor = 0.2
aggregationMethod = average


[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

実際のアグリゲーターの構成は、おそらくここでの盲点です。なぜなら、本当に詳細なドキュメントを見つけることができず、すべてをそのままにしておいたからです。

carbon.conf

[aggregator]
LINE_RECEIVER_INTERFACE = 0.0.0.0
LINE_RECEIVER_PORT = 2023

PICKLE_RECEIVER_INTERFACE = 0.0.0.0
PICKLE_RECEIVER_PORT = 2024

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
4

1 に答える 1

1

グラファイトの最新リリース (0.9.12) に存在し、プロジェクトのバグトラッカー ( https://github.com/graphite-project/carbon/issues/109 ) に報告された問題に遭遇したようです。

バグ レポートには、この問題の潜在的な修正についても言及されています。

于 2014-05-21T14:03:27.160 に答える