collectd 无法将数据发送到石墨碳守护进程

collectd not able to send data to graphite carbon daemon

我们有一个石墨全栈服务器,它接收来自不同机器的指标。当其他 collectd 客户端发送数据正常时,其中一个客户端出现以下错误:

Jan 29 23:24:44 collectd-client collectd[25489]: write_graphite plugin: send to graphite-server:2003 ((null)) failed with status -1 (Connection refused) Jan 29 23:24:44 collectd-client collectd[25489]: collectd: Stopping 5 write threads.

collectd.conf as below
LoadPlugin syslog
LoadPlugin cpu
LoadPlugin df
LoadPlugin disk
LoadPlugin interface
LoadPlugin load
LoadPlugin memory
LoadPlugin rrdtool
LoadPlugin write_graphite
<Plugin df>
        MountPoint "/"
</Plugin>
<Plugin disk>
        Disk "/^[hs]d[a-f][0-9]?$/"
</Plugin>
<Plugin interface>
        Interface "eth0"
</Plugin>
<Plugin write_graphite>
  <Node "carbon">
    Host "sde-graphite"
    Port "2003"
    Prefix "collectd"
    Postfix "collectd"
    StoreRates true
    AlwaysAppendDS false
    EscapeCharacter "_"
  </Node>
</Plugin>

在主机sde-graphite的2003端口验证carbon是否运行。你可以做一个netstat,看看2003是否有UDP监听器。我猜猜,它不是运行。

已解决:

我遇到了同样的问题,我的指标一直有效,但有些节点随机停止发送指标。并且 collectd 显示相同的错误:

Jun 18 15:04:23 node-a collectd[20235]: write_graphite plugin: send to 10.8.0.100:2003 (udp) failed with status -1 (Invalid argument)

Jun 18 15:04:23 node-a collectd[20235]: Filter subsystem: Built-in target `write': Dispatching value to all write plugins failed with status -1.

守护进程仍然存在,但没有向 Graphite 发送指标。 注意:我的节点通过 openvpn 隧道将数据发送到石墨。

似乎是针对石墨服务器的连接超时错误。我可以通过 stopping/interrupting vpn 服务重现错误,并立即 collectd 显示上面的错误。

希望对您有所帮助 享受吧!