Eu quero ter um servidor collectd central que reúna estatísticas de outros servidores, armazene-os em arquivos RRD e encaminhe-os para o logstash.
aqui estão as partes relevantes /etc/collectd/collectd.conf
no servidor central:
<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>
O servidor recebe com sucesso as métricas dos outros servidores e as armazena em arquivos RRD. ls /var/lib/collectd/rrd
mostra que esta parte funciona bem.
No entanto, apenas os dados do servidor são enviados para o logstash. Os dados transmitidos pela rede de outras máquinas para este servidor não são reenviados para o logstash. De fato, de acordo com a lista de discussão do collectd :
[Os] valores que foram enviados pelo plug-in de rede estão sendo sinalizados, para evitar várias retransmissões possivelmente circulares.
Existe uma maneira de indicar que eu quero que os valores sejam retransmitidos?
Se não, o que devo fazer em vez disso? Devo enviar dados diretamente para o logstash de todas as máquinas?
Conforme declarado na página de manual , você precisa definir
Forward true
no bloco de plug-in de rede do servidor central: