石墨显示数据中的滚动间隙

Graphite showing rolling gap in data

我最近将我们的一个 Graphite 实例从 0.9.2 升级到 1.1.1,此后 运行 遇到了一个问题,由于缺少更好的词,数据存在滚动差距.

它正确显示了最后几分钟(我猜碳缓存中有什么),大约 10-15 分钟后,它也正确显示了所有数据。

然而,在那 10-15 分钟的间隔内,它完全是空白的。我可以在 Graphite 和 Grafana 中看到差距。重启carbon cache后消失,大约一天后又出现。

示例截图:

我遇到的大多数 graphs/dashboards 都会发生这种情况。

我花了很多精力优化磁盘 IO,所以我怀疑情况是否如此 -> Cloudwatch 显示 100% 的磁盘突发信用。这是一个具有 4 个内核和 16 GB RAM 的 m3.xlarge 实例。交换文件在临时存储上,看起来几乎没有被使用。

使用 1 个带有 Whisper 后端的 Carbon Cache 实例。

storage_schemas.conf:

[carbon]
pattern = ^carbon\.
retentions = 60:90d
[dumbo]
pattern = ^collectd\.dumbo   # load test containers, we don't care about their data
retentions = 300:1
[collectd]
pattern = ^collectd
retentions = 10s:8h,30s:1d,1m:3d,5m:30d,15m:90d
[statsite]
pattern = ^statsite
retentions = 10s:8h,30s:1d,1m:3d,5m:30d,15m:90d
[default_1min_for_1day]
pattern = .*
retentions = 60s:1d

非默认(或可能相关)carbon.conf 设置:

[cache]
MAX_CACHE_SIZE = inf
MAX_UPDATES_PER_SECOND = 100   # was slagging disk write IO until I dropped it down from 500
MAX_CREATES_PER_MINUTE = 50
CACHE_WRITE_STRATEGY = sorted
RELAY_METHOD = rules
DESTINATIONS = 127.0.0.1:2004
MAX_DATAPOINTS_PER_MESSAGE = 500
MAX_QUEUE_SIZE = 10000

石墨local_settings.py

CARBONLINK_TIMEOUT = 10.0
CARBONLINK_QUERY_BULK = True
USE_WORKER_POOL = False

我们已经在 1.1.1 的一些工作负载上看到了这个问题,你能尝试将 carbon 更新到当前的 master 吗?如果不是,1.1.2 将很快发布,应该可以解决问题。