Enviando logs para o servidor remoto com rsyslog

2

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

O Logstash está escutando no TCP 5000 e está recebendo com sucesso os logs de um dos meus servidores, mas não o restante. Eu posso fazer telnet para o meu servidor de logs no 5000 e o Logstash está pegando as mensagens, então acredito que os problemas estão com o rsyslog enviando os logs.

Eu 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 depois de fazer a alteração, mas nada está sendo recebido pelo Logstash. O diretório de spool está vazio, então não acredito que sejam 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 ideia de como posso rastrear o erro?

EDIT: Este problema foi causado pelo SELinux

    
por Merch 16.05.2014 / 23:01

1 resposta

1

O SELinux estava impedindo que o rsyslog enviasse a porta 5000. Por padrão, o SELinux só permite que o rsyslog envie tráfego para o UDP 514.

Eu adicionei uma exceção ao SELinux com:

$sudo semanage port -a -t syslogd_port_t -p tcp 5000
    
por 18.05.2014 / 02:17