Я хочу иметь центральный сервер 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. Действительно, согласно собирать список рассылки:
[T] значения, которые были отправлены через сетевой плагин, помечаются, чтобы избежать многократных, возможно, циклических повторных передач.
Есть ли способ указать, что я хочу, чтобы значения были повторно переданы?
Если нет, что мне делать вместо этого? Должен ли я отправлять данные непосредственно в logstash с каждой машины?
Как указано на странице руководства, вам нужно установить Forward true
в блоке сетевых плагинов центрального сервера:
Если установлено на правда, записывать пакеты, полученные через сетевой плагин, в отправляющие сокеты.