我想有一个中央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。 通过networking从其他机器传输到该服务器的数据不会发送到logstash。 的确,根据collectd邮件列表 :
已经通过networking插件发送的值被标记,以避免多个可能的循环重传。
有没有一种方法可以表明我希望重传值?
如果不是,我该怎么做呢? 我应该直接发送数据到每台机器的logstash吗?
正如手册页所述 ,您需要在中央服务器的networking插件块中设置为Forward true
。
如果设置为true ,则将通过networking插件接收到的数据包写入发送套接字。