На одной виртуальной машине у меня это есть /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, получает ли трафик агент, если вы все еще не получаете журналы после внесения этого изменения:
tcpdump -i any port 42185
Это также должно указывать, принимается ли TCP или UDP (только указав port
, и нет tcp
или udp
также)
РЕДАКТИРОВАТЬ: в дополнение к этому убедитесь, что ваша конфигурация rsyslog верна: все примеры, которые я видел и использовал, имеют двойной @@
в прямом правиле:
*.* @@192.168.29.1:42185