我想要一个中央 collectd 服务器,它从其他服务器收集统计信息,将其存储到 RRD 文件并将其转发到 logstash。
/etc/collectd/collectd.conf
以下是中央服务器上的相关部分:
<Plugin network>
<Listen "0.0.0.0" "25826">
</Listen>
</Plugin>
<Plugin network>
<Server "192.168.1.24" "25827">
</Server>
</Plugin>
<Plugin rrdtool>
DataDir "/var/lib/collectd/rrd"
CacheTimeout 120
CacheFlush 900
</Plugin>
服务器成功接收来自其他服务器的指标并将它们存储在 RRD 文件中。ls /var/lib/collectd/rrd
表明这部分运作良好。
但是,只有服务器的数据会发送到 logstash。通过网络从其他机器传输到该服务器的数据不会重新发送到 Logstash。事实上,根据collectd 邮件列表:
[T]通过网络插件发送的值被标记,以避免多次可能的循环重传。
有没有办法表明我确实希望重新传输这些值?
如果没有,我应该怎么做?我应该从每台机器直接将数据发送到logstash吗?
如手册中所述,您需要
Forward true
在中央服务器的网络插件块中进行设置: