我设置了一个使用以下连接的两节点 Graphite 集群carbon-relay
:
我在大约 1 分钟的时间内为我的指标发送了 500 个计数器cluster-test-500
,时间约为 60/10 秒。
根据我的聚合规则:
Meta data:
aggregation method: sum
max retention: 31536000
xFilesFactor: 0
Archive 0 info:
offset: 52
seconds per point: 10
points: 2160
retention: 21600
size: 25920
Archive 1 info:
offset: 25972
seconds per point: 60
points: 10080
retention: 604800
size: 120960
Archive 2 info:
offset: 146932
seconds per point: 600
points: 52560
retention: 31536000
size: 630720
数据出现在两个节点的 Whisper 数据库中:
data:
12
63
61
62
63
60
61
57
0
data:
261
239
0
data:
500
0
然后,当我使用该函数查询 Graphite 时summarize
,过去一天:
http://graphite.mysite.com/render?target=summarize(stats.counters.cluster-test-500.*.*.*.count,"1day","sum","False")&format=json&tz=UTC&from=18:00_20130923&until=18:00_20130924
它通过简单地重新运行相同的查询返回不一致的结果:
[{"target": "summarize(stats.counters.cluster-test-500.count, \"1day\", \"sum\", true)", "datapoints": [[302.0, 1379959260]]}]
[{"target": "summarize(stats.counters.cluster-test-500.count, \"1day\", \"sum\", true)", "datapoints": [[500.0, 1379959260]]}]
[{"target": "summarize(stats.counters.cluster-test-500.count, \"1day\", \"sum\", true)", "datapoints": [[261.0, 1379959260]]}]
[{"target": "summarize(stats.counters.cluster-test-500.count, \"1day\", \"sum\", true)", "datapoints": [[63.0, 1379959260]]}]
这似乎是由 WhisperDB 文件中看似随机的时间段总和造成的。这到底是什么原因造成的?