我最近将我们的一个 Graphite 实例从 0.9.2 升级到 1.1.1,此后遇到了一个问题,即由于缺乏更好的词,数据存在滚动差距。
它正确显示了最后几分钟(我猜碳缓存中有什么),大约 10-15 分钟后,它也正确显示了所有数据。
然而,在那 10 到 15 分钟的间隙内,它完全是空白的。我可以在 Graphite 和 Grafana 中看到差距。它在重新启动碳缓存后消失,然后在大约一天后恢复。
示例截图:
我拥有的大多数图表/仪表板都会发生这种情况。
我花了很多精力优化磁盘 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