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(并且总体来说是一个更好的解决方案)。