Envío de registros al servidor remoto con rsyslog

Envío de registros al servidor remoto con rsyslog

Estoy intentando configurar el registro centralizado con Logstash, Elasticsearch y Kibana y tengo problemas para enviar registros a mi servidor de registros.

Logstash está escuchando en TCP 5000 y recibe correctamente registros de uno de mis servidores, pero no del resto. Puedo hacer telnet a mi servidor de registro en 5000 y Logstash está recogiendo los mensajes, así que creo que el problema es que rsyslog envía los registros.

Estoy en CentOS 6.5 y agregué lo siguiente a /etc/rsyslog.conf:

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

rsyslog se reinició sin errores después de realizar el cambio, pero Logstash no recibe nada. El directorio de spool está vacío, por lo que no creo que se trate de errores de envío.

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

¿Alguna idea sobre cómo puedo localizar el error?

EDITAR: Este problema fue causado por SELinux

Respuesta1

SELinux estaba bloqueando el envío de rsyslog en el puerto 5000. De forma predeterminada, SELinux solo permite que rsyslog envíe tráfico en UDP 514.

Agregué una excepción a SELinux con:

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

información relacionada