来自Aggregator的Graphite指标显示奇怪的保留(?)行为

时间:2013-10-02 08:59:45

标签: metrics graphite yammer aggregator

我们一直在使用Graphite一段时间,最近将某些指标的来源从statsd更改为yammer / codahale-metrics。由于我们的指标通常是从许多不同的服务器发送的,因此我们设置了Graphite自己的聚合器来为我们处理。

现在的问题是,各个服务器的统计信息显示并且表现得很好,但聚合的统计信息在过去一小时左右才会正确。这意味着较长的聚合值会在一段时间后以某种方式进行修改。这是它的外观图像: graph 绿线只是应该聚合的指标的sumSeries,蓝线是聚合器生成的。请注意两条线在过去一小时内如何协调。

当然,我们已经研究了存储/聚合/保留规则,但它们都非常基本,应该平等地覆盖所有指标(基本上甚至在1小时后才生效):

存储schemas.conf

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

存储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

1 个答案:

答案 0 :(得分:1)

看起来您遇到了石墨的最新版本(0.9.12)中存在的问题,并且在https://github.com/graphite-project/carbon/issues/109向项目的bugtracker报告了该问题。

错误报告还提到了该问题的潜在解决方法。