rsyslog – 只传递远程接收到的消息(编辑:nxlog会更好)

我正在寻找build立一个系统日志中继为了从我的客户端强制UDPstream到TCP。 具体来说,我想从中移除

client --UDP_PORT_999--> server1 

 client --UDP_PORT_999--> server1 --TCP_PORT_514--> server2 

我在rssylog文档中发现如何设置远程(客户端和服务器)系统日志以及如何正确configuration故障转移 (如果server2不可用),但我不知道如何翻译“ 转发到server2只有消息来自远程客户端 “(或者,” 转发到服务器2只有来自UDP 999端口的消息 “)。 换句话说,我想保持server1上的本地系统日志处理,并简单地通过UDP代理通过UDP传出的消息。

我不虔诚地附加到rsyslog,所以如果有一个好的方法来设置(包括故障转移)在syslog-ng它将是完美的。

谢谢你的指点!

WoJ

PS。 我在rsyslog论坛上发布了这个问题,之后才意识到我可能会更好地发布我的问题:)

编辑: nxlog将是一个更好的解决scheme(见下面的答案和我的意见)

我也可以推荐你nxlog,因为它的configuration允许你更自然地定义你上面指定的stream程。

configuration骨架:

 <Input udpin> Module im_udp ... </Input> <Output tcpout> Module om_tcp ... </Output> <Route forwarder> Path udpin => tcpout </Route> 

我find了一个合理的方法来实现这一点,将以下configuration行添加到server1上的/etc/rsyslog.conf中:

 :fromhost-ip, !isequal, "127.0.0.1" @@server2 

$fromhost-ip文档指出$fromhost-ip = 127.0.01为本地消息)

configuration工程,与优秀的远程系统日志testing。