用rsyslog发送日志到远程服务器

我正在尝试使用Logstash,Elasticsearch和Kibana设置集中式日志logging,并且无法将日志logging到我的日志服务器。

Logstash正在侦听TCP 5000,并正在成功从我的一台服务器接收日志,但其余部分却没有。 我可以telnet到5000上的日志服务器和Logstash正在拿起消息,所以我相信这些问题是rsyslog发送日志。

我在CentOS 6.5上,并将以下内容添加到/etc/rsyslog.conf中:

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

rsyslog在进行更改后没有任何错误地重新启动,但Logstash没有收到任何信息。 假脱机目录是空的,所以我不相信他们发送失败。

 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 

关于如何追踪错误的任何想法?

编辑:这个问题是由SELinux造成的

SELinux阻止rsyslog在端口5000上发送。默认情况下,SELinux只允许rsyslog在UDP 514上发送stream量。

我给SELinux添加了一个exception:

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