int*_*2Eh 7 nginx logging syslog tcp rsyslog
我需要将 Nginx 访问和错误日志重定向到远程系统日志服务器。从http://nginx.org/en/docs/syslog.html我看到我可以做到:
error_log syslog:server=192.168.1.1;
Run Code Online (Sandbox Code Playgroud)
但是我需要重定向到特定的 TCP(不是 UDP!)端口,我尝试了:
error_log syslog:server=192.168.1.1:3000;
Run Code Online (Sandbox Code Playgroud)
但它没有通过。如何向 Nginx 指定端口应该是 TCP 而不是 UDP?
非常感谢!
无法以这种方式通过 TCP 发送,这是在网络上发送日志的一种非常常见的方式,因为您希望消息传递可靠(请查看 RELP 模块以获取该需求的证据)。
而且,只能通过 UDP 发送日志是很常见的,许多网络设备(例如交换机或路由器)只能通过 UDP 发送,因此发送到系统日志网关可能是一个解决方案,如果您无法在您想要的端口上的系统日志服务器上添加侦听器。这将接收您的 UDP 日志,并通过 TCP 将它们发送到您的中央服务器。
我自己会使用 rsyslog 收集 nginx 服务器上的日志并将其转发到中央服务器,而不是依赖 nginx 来完成所有工作。您可以选择要发送到的协议和端口。
归档时间: |
|
查看次数: |
9523 次 |
最近记录: |