4

我一直在尝试从 Whisper-info.py 输出中理解,这对我来说似乎有点神秘。

目前这是我的设置:

storage-schema.conf

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

[stats]
pattern = ^stats.*
retentions = 30s:6h,1min:30d,10min:360d,30min:720d,1h:1825d,1d:1825d

[everything_else]
pattern = .*
retentions = 30s:6h,1min:30d,10min:360d,30min:720d,1h:1825d,1d:1825d

存储聚合.conf

[min]
pattern = \.lower$
xFilesFactor = 0.1
aggregationMethod = min

[max]
pattern = \.upper(_\d+)?$
xFilesFactor = 0.1
aggregationMethod = max

[sum]
pattern = \.sum$
xFilesFactor = 0
aggregationMethod = sum

[count]
pattern = \.count$
xFilesFactor = 0
aggregationMethod = sum

[count_legacy]
pattern = ^stats_counts.*
xFilesFactor = 0
aggregationMethod = sum

[default_average]
pattern = .*
xFilesFactor = 0.3
aggregationMethod = average

我前面有 statsd,非常小的 localConfig.js

{
graphitePort: 2003,
graphiteHost: "127.0.0.1",
port: 8125,
flushInterval: 30000,
}

现在我向 stasd 发送一个数据包到一个全新的指标

echo "alex.foo:1|c" | nc -w1 -u 127.0.0.1 8125

这是whisper-info.py的输出:

# whisper-info.py /opt/graphite/storage/whisper/stats/alex/foo.wsp 
maxRetention: 604800
xFilesFactor: 0.300000011921
aggregationMethod: average
fileSize: 120988

Archive 0
retention: 604800
secondsPerPoint: 60
points: 10080
size: 120960
offset: 28

当我显然有更多的保留设置时,为什么只有一个存档?我的架构规则不正确吗?输出的含义是什么?size 是文件大小吗?抵消?

感谢您花时间回答!

4

1 回答 1

3

我发现问题出在我的 storage-schema.conf 文件的语法上。我发现了这个方便的工具 validate-storage-schemas.py(在 /opt/graphite/bin/ 中找到)并且输出非常清晰。

./validate-storage-schemas.py 
Loading storage-schemas configuration from default location at: '/opt/graphite/conf/storage-schemas.conf'
Section 'carbon':
  OK
Section 'stats':
  - Error: Section 'stats' contains an invalid retention definition ('30s:6h,1min:30d,10min:360d,30min:720d,1h:1825d,1d:1825d')
    Lower precision archives must cover larger time intervals than higher precision archives (archive4: 157680000 seconds, archive5: 157680000 seconds)
  OK
Section 'everything_else':
  - Error: Section 'everything_else' contains an invalid retention definition ('30s:6h,1min:30d,10min:360d,30min:720d,1h:1825d,1d:1825d')
    Lower precision archives must cover larger time intervals than higher precision archives (archive4: 157680000 seconds, archive5: 157680000 seconds)
  OK

现在,如果我对它们有意义的文件进行耳语信息:

root@graftwo:/opt/graphite#whisper-info.py /opt/graphite/storage/whisper/local/test/diceroll.wsp maxRetention: 172800000 xFilesFactor: 0.300000011921 aggregationMethod: 平均文件大小: 2113528

Archive 0
retention: 21600
secondsPerPoint: 30
points: 720
size: 8640
offset: 88

Archive 1
retention: 2592000
secondsPerPoint: 60
points: 43200
size: 518400
offset: 8728

Archive 2
retention: 31104000
secondsPerPoint: 600
points: 51840
size: 622080
offset: 527128

Archive 3
retention: 62208000
secondsPerPoint: 1800
points: 34560
size: 414720
offset: 1149208

Archive 4
retention: 157680000
secondsPerPoint: 3600
points: 43800
size: 525600
offset: 1563928

Archive 5
retention: 172800000
secondsPerPoint: 86400
points: 2000
size: 24000
offset: 2089528

我仍然想知道两件事: - 为什么 carbon-cache 没有因语法错误而失败?- 这个硬默认来自哪里?- 这个偏移量是什么?

谢谢!希望这对其他人有帮助

于 2014-08-21T14:54:22.190 回答