python – Graphite:帮我解释一下whisper-info.py输出

我一直试图从whisper-info.py输出中弄清楚它对我来说似乎有点神秘.

目前这是我的设置:

存储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

存储aggregation.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

我在它面前有统计数据,非常小
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

当我明显有更多的保留设置时,为什么只有一个档案?我的架构规则不正确吗?输出是什么意思?是文件大小的大小?偏移?

感谢您抽出宝贵时间回答!

最佳答案 我发现问题与我的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:average
    fileSize: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

我仍然想知道两件事:
– 为什么碳复制失败并且语法不正确?
– 这个严格的默认值来自哪里?
– 这个偏移的东西是什么?

谢谢!希望这有助于其他人

点赞