我想要一个中央 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 邮件列表:
通过网络插件发送的值已被标记,以避免多次可能的循环重新传输。
有没有办法表明我确实希望重新传输这些值?
如果没有,我应该怎么做?我应该从每台机器直接将数据发送到 logstash 吗?
答案1
如手册页所述,需要Forward true
在中央服务器的网络插件块中设置:
如果设置为真的,将通过网络插件接收到的数据包写入发送套接字。