
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