Enviando logs para servidor remoto com rsyslog

Enviando logs para servidor remoto com rsyslog

Estou tentando configurar o log centralizado com Logstash, Elasticsearch e Kibana e estou tendo problemas para enviar logs para meu servidor de log.

O Logstash está escutando no TCP 5000 e recebendo logs com êxito de um dos meus servidores, mas não do resto. Posso fazer telnet para meu servidor de log em 5000 e o Logstash está captando as mensagens, então acredito que o problema é com o rsyslog enviando os logs.

Estou no CentOS 6.5 e adicionei o seguinte ao /etc/rsyslog.conf:

$WorkDirectory /var/lib/rsyslog # where to place spool files
*.* @@logs.<domain_removed>.com:5000

O rsyslog foi reiniciado sem erros após fazer a alteração, mas nada está sendo recebido pelo Logstash. O diretório de spool está vazio, então não acredito que haja falhas de envio.

May 16 20:46:10 rsyslogd: [origin software="rsyslogd" swVersion="5.8.10" x-    pid="5097" x-info="http://www.rsyslog.com"] exiting on signal 15.
May 16 20:46:10 kernel: imklog 5.8.10, log source = /proc/kmsg started.
May 16 20:46:10 rsyslogd: [origin software="rsyslogd" swVersion="5.8.10" x-pid="3556" x-info="http://www.rsyslog.com"] start

Alguma idéia de como posso rastrear o erro?

EDIT: Este problema foi causado pelo SELinux

Responder1

O SELinux estava bloqueando o envio do rsyslog na porta 5000. Por padrão, o SELinux só permite que o rsyslog envie tráfego no UDP 514.

Adicionei uma exceção ao SELinux com:

$sudo semanage port -a -t syslogd_port_t -p tcp 5000

informação relacionada