На одном VM у меня есть это в /etc/rsyslog.d/50-default.conf
*.* @192.168.29.1:42185
# Default rules for rsyslog.
На vm с fluentd у меня есть это:
У меня есть это в /etc/td-agent/td-agent.conf
<source>
type syslog
port 42185
tag rsyslog
</source>
<match rsyslog.**>
type copy
<store>
# for debug (see /var/log/td-agent.log)
type stdout
</store>
<store>
type elasticsearch
logstash_format true
flush_interval 10s # for testing.
</store>
</match>
Но ничто, кажется, не становится отправленным на удаленную машину, поскольку я смотрю в /var/log/td-agent.log, и я вижу
2014-08-08 10:51:10 -0700 [info]: adding source type="syslog"
2014-08-08 10:51:10 -0700 [info]: adding source type="forward"
2014-08-08 10:51:10 -0700 [info]: adding source type="http"
2014-08-08 10:51:10 -0700 [info]: adding source type="debug_agent"
2014-08-08 10:51:10 -0700 [info]: adding match pattern="td.*.*" type="tdlog"
2014-08-08 10:51:10 -0700 [info]: adding match pattern="debug.**" type="stdout"
2014-08-08 10:51:10 -0700 [info]: adding match pattern="rsyslog.**" type="copy"
2014-08-08 10:51:10 -0700 [info]: listening fluent socket on 0.0.0.0:24224
2014-08-08 10:51:10 -0700 [info]: listening dRuby uri="druby://127.0.0.1:24230" object="Engine"
2
Я не знаю, почему журналы не отправляются, и я не вижу, как сказать, существует ли что-то идущее не так, как надо с rsyslog
и это просто не отправляет файлы.
Если я не ошибаюсь, rsyslog пересылает логи по TCP (в конфигурационном файле это указано как "для надежности"), но слушатель fluentD по умолчанию прослушивает UDP. Это изменение в вашем fluentD конфигурационном файле должно позволить вам получать логи по TCP:
<source>
type syslog
port 42185
protocol_type tcp
tag rsyslog
</source>
Я бы проверил с помощью TCP dump, принимается ли трафик на агента, если после внесения этого изменения вы все еще не получаете логов:
tcpdump -i any port 42185
Это также должно указывать, принимается ли TCP или UDP (указывая только порт
, а не tcp
или udp
)
EDIT: в дополнение к этому, убедитесь, что ваш rsyslog конфиг корректен: все примеры, которые я видел и использовал, имеют двойной @@
в прямом правиле:
*.* @@192.168.29.1:42185
http://www. rsyslog.com/doc/rsyslog_reliable_forwarding.html