石墨与收集。保留未应用

graphite vs collectd. retentions not applied

我已经在 BIND9 主机上安装了 collectd 并将其配置为将指标传递给 graphite。我希望能够查看至少 1 个月的指标,但存储中的保留 - schema.conf 不适用于 collectd 部分,并且应用了仅存储最后 24 小时指标的最后一个默认部分。 我知道我需要设置正确的保留正则表达式来匹配指标,但在我看来这已经是正确的了,但它不起作用:(

我的 storage-schemas.conf 目前看起来是这样的:

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

[mxservers]
pattern = ^mx-servers\.*
retentions = 60s:7d,5m:2y 

[ns.servers]
pattern = ^ns\d\.collectd\..*
retentions = 60s:7d,10m:2y

[collectd]
pattern =^collectd\.*
retentions = 60s:7d,10m:2y 

# *** Netapp Monitoring ***
[netapp.capacity]
pattern = ^netapp\.capacity\.*
retentions = 15m:100d, 1d:5y

[netapp.poller.capacity]
pattern = ^netapp\.poller\.capacity\.*
retentions = 15m:100d, 1d:5y

[netapp.perf]
pattern = ^netapp\.perf\.*
retentions = 60s:35d, 5m:100d, 15m:395d, 1h:5y

[netapp.poller.perf]
pattern = ^netapp\.poller\.perf\.*
retentions = 60s:35d, 5m:100d, 15m:395d, 1h:5y

[netapp.perf7]
pattern = ^netapp\.perf7\.*
retentions = 60s:35d, 5m:100d, 15m:395d, 1h:5y

[netapp.poller.perf7]
pattern = ^netapp\.poller\.perf7\.*
retentions = 60s:35d, 5m:100d, 15m:395d, 1h:5y
# *** Netapp Monitoring ***

[default_1min_for_1day]
pattern = .*
retentions = 60s:1d

我对名为 - [ns.servers] 的部分有疑问, 试图将其中的正则表达式设置为:

^ns\d\.collectd\.
^ns\d\.collectd\..*
^ns.\.collectd\.
^ns.\.collectd\..*

None 解决了问题。 指标以如下名称存储:

ns1.collectd.load.load.shortterm
ns2.collectd.load.load.longterm
ns1.collectd.interface-bond0.if_packets.rx
ns2.collectd.interface-bond0.if_packets.tx

请帮助我设置正确的正则表达式以使其匹配。

您是否碰巧在创建 .wsp 文件后配置了 storage-schemas.conf 中的正则表达式?如果是这样,您必须手动调整现有 .wsp 文件的大小。您可以使用 whisper 包中包含的 whisper-resize 实用程序来执行此操作(或者只删除文件并让 carbon 重新创建它们)。

storage-schemas.conf 仅在创建新的 .wsp 文件时应用。

我终于明白问题出在哪里了!我查看了 /var/log/carbon/creates.log,发现我的 collecd 指标存储为 ns2/collectd.* - "hostname"+"/"+"collectd" - 因为在 DNS 上的 collectd 配置中-服务器有一个选项 Postfix "/collectd" 可以做到这一点。

05/06/2017 09:54:22 :: creating database file /var/lib/graphite/whisper/ns2/collectd/cpu-1/cpu-idle.wsp (archive=[(60, 1440)] xff=None agg=None)
05/06/2017 09:54:22 :: new metric ns2/collectd.disk-sda.disk_octets.write matched schema default_1min_for_1day
05/06/2017 09:54:22 :: new metric ns2/collectd.disk-sda.disk_octets.write matched aggregation schema default

所以解决方案是让正则表达式看起来像这样:pattern = ^ns[1-2]\/collectd\.* - 转义“/” - 字符 然后我删除了旧指标并创建了具有正确保留的新指标文件!

05/06/2017 11:32:12 :: creating database file /var/lib/graphite/whisper/ns2/collectd/df-boot-efi/df_complex-free.wsp (archive=[(60, 10080), (600, 105120)] xff=None agg=None)
05/06/2017 11:32:12 :: new metric ns2/collectd.interface-eth0.if_errors.tx matched schema ns.servers
05/06/2017 11:32:12 :: new metric ns2/collectd.interface-eth0.if_errors.tx matched aggregation schema default