Graphite / Carbon不保留某些统计数据

时间:2016-10-13 10:36:54

标签: graphite collectd

我有一个Carbon / Graphite堆栈,其中设置了一些非常基本的保留模式。除了一些统计数据外,这些保留期工作正常 - 这些只能持续一周。

我的storage-schemas.conf:

[carbon]
pattern = ^carbon\.
retentions = 60:90d

[collectd]
pattern = ^collectd.*
retentions = 10s:2d,1m:14d,5m:1y

我的storage-aggregation.conf:

[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

所有统计数据都以collectd。为前缀,因此保留模式是正确的。在Grafana中查看受影响的仪表板时,我在graphite> cache.log中看到以下内容:

  

2016年10月13日星期四11:25:16 ::对collectd.host_domain_com.openstack-keystone-totals.gauge-users-count的carbonLink缓存查询请求返回0个数据点

在受影响的.wsp上使用whisper-info.py会显示以下内容:

maxRetention: 31536000
xFilesFactor: 0.5
aggregationMethod: average
fileSize: 1710772

Archive 0
retention: 172800
secondsPerPoint: 10
points: 17280
size: 207360
offset: 52

Archive 1
retention: 1209600
secondsPerPoint: 60
points: 20160
size: 241920
offset: 207412

Archive 2
retention: 31536000
secondsPerPoint: 300
points: 105120
size: 1261440
offset: 449332

有人可以提出我可能错过的任何建议吗?

1 个答案:

答案 0 :(得分:0)

所以答案就来自几个问题。首先,数据点在名称末尾使用-count而不是.count提交,因此默认的[sum]聚合将应用于数据。因为我们不是每10秒提交一次数据(并且因为默认情况下我们的xFilesFactor为0.5),所以当数据到达保留点时数据会被释放,并且因为预期数据点的数量少于50%,所以而是存储了值。