我们一直在使用Graphite一段时间,最近将某些指标的来源从statsd更改为yammer / codahale-metrics。由于我们的指标通常是从许多不同的服务器发送的,因此我们设置了Graphite自己的聚合器来为我们处理。
现在的问题是,各个服务器的统计信息显示并且表现得很好,但聚合的统计信息在过去一小时左右才会正确。这意味着较长的聚合值会在一段时间后以某种方式进行修改。这是它的外观图像: 绿线只是应该聚合的指标的sumSeries,蓝线是聚合器生成的。请注意两条线在过去一小时内如何协调。
当然,我们已经研究了存储/聚合/保留规则,但它们都非常基本,应该平等地覆盖所有指标(基本上甚至在1小时后才生效):
[stats]
priority = 110
pattern = .*
# store 60s for 30d, then 15 minutes 350400 (10 years)
retentions = 60:43000,900:262974
[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
实际聚合器的配置可能是这里的盲点,因为我们找不到任何真正详细的文档,只是将所有内容保留原样。大多数情况下。
[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
答案 0 :(得分:1)
看起来您遇到了石墨的最新版本(0.9.12)中存在的问题,并且在https://github.com/graphite-project/carbon/issues/109向项目的bugtracker报告了该问题。
错误报告还提到了该问题的潜在解决方法。