1

是否collectd正确支持write_graphite插件的多个实例?Collectd 手册页似乎在一个示例中暗示了这一点:https ://collectd.org/documentation/manpages/collectd.conf.5.shtml#built_in_targets

我正在尝试chains专门配置,并通过collectd 中的多个插件PostCacheChain实例发送指标。write_graphite原因是,不同的指标需要不同的前缀。

我无法让两个实例都将数据发送到石墨,只有一个可以工作。

使用时,netstat我可以看到从我的 collectd 主机到石墨主机建立了两个套接字。运行tcpdump显示两个连接的 SYN-ACK,但只有一个实例发送数据。应该通过第二个实例发送的指标不会显示在 tcpdump 或石墨上。

的配置write_graphite如下所示:

LoadPlugin "write_graphite"
<Plugin "write_graphite">
  <Node "def_prefix">
    Host "metrics.example.com"
    Port "2003"
    Prefix "collectd."
    LogSendErrors true
    Protocol "TCP"
    StoreRates true
    AlwaysAppendDS true
    SeparateInstances true
  </Node>
  <Node "statsd_prefix">
    Host "metrics.example.com"
    Port "2003"
    Prefix "statsd."
    LogSendErrors true
    Protocol "TCP"
    StoreRates true
    AlwaysAppendDS true
    SeparateInstances true
  </Node>
</Plugin>

对于PostCacheChain

LoadPlugin match_regex
PostCacheChain "PostCache"
<Chain "PostCache">
  <Rule "statsd_prefix"> # metrics from statsd plugin use diff prefix
    <Match "regex">
      Plugin "^statsd$"
    </Match>
    <Target "write">
      Plugin "write_graphite/statsd_prefix"
    </Target>
    <Target "return">
    </Target>
  </Rule>
  <Target "write">
    Plugin "write_graphite/def_prefix"
  </Target>
</Chain>

谢谢你的帮助。

4

2 回答 2

1

我的问题是设置问题。为了进行快捷测试,我nc在侦听模式下运行,而不是实际的石墨服务器。这导致只有一个石墨插件实例完全连接和传输数据。

就我而言,测试场景如此糟糕。

于 2016-05-12T04:48:54.387 回答
0
  <Node "server1">
    Host "graphite1.example.com"
    Prefix "collectd."
    StoreRates true
  </Node>
  <Node "server2">
    Host "graphite2.example.com"
    Prefix "collectd."
    StoreRates true
  </Node>

https://collectd.org/wiki/index.php/Match:Hashed/Config

于 2021-05-21T00:00:21.440 回答