如何强制系统日志流量使用 TCP 而不是 UDP?

如何强制系统日志流量使用 TCP 而不是 UDP?

Centos 5.x

我希望我的系统日志流量使用 TCP 而不是 UDP。

CentOS 的 syslog 守护进程是否支持此功能?如果支持,我应该在哪里设置该选项?

-M

答案1

我认为 Centos5 上的常规 syslog 守护程序不支持此功能。另请注意,端口 514/tcp 是为“shell”访问保留的,但我认为今后将不再使用。

查看rsyslog,它已成为 Ubuntu 中的默认 syslog 守护进程,并且RedHat 6 测试版(和 Centos 6)。它可以读取现有的 syslog.conf无需任何更改,还可以稍微扩展。它还支持TCP 上的系统日志

我发现 syslog-ng 的文档更丰富,社区示例也更多。但是,rsyslog.conf 的语法与 syslog.conf 的语法更相似。如果您使用 syslog-ng,那么请继续使用 syslog-ng。如果您有一些现有的 syslog.conf,那么请查看 rsyslog。

在我的 Ubuntu 系统上,我将旧的 syslog.conf 放入 /etc/rsyslog.d/50-default.conf,它立即生效。后来,我能够添加几个自己的功能,例如将远程系统日志存储在 /var/log/syslogs/$REMOTE_HOST/$FACILITY.log。


更新 20110524:

有关更多信息,请参阅https://www.rfc-editor.org/rfc/rfc5426,具体来说建议通过 TLS 传输系统日志

答案2

也许值得看一下支持 TCP 的 syslog-ng(并且总体来说是一个更好的解决方案)。

http://freshmeat.net/projects/syslog-ng/

相关内容