I am looking at building a syslog relay in order to move from my clients'-enforced UDP stream to TCP. Specifically, I would like to move from
client --UDP_PORT_999--> server1
to
client --UDP_PORT_999--> server1 --TCP_PORT_514--> server2
I found in the rssylog documentation both how to setup remote (client and server) syslog and how to correctly configure failover (in case where server2 is not available) but I do not know how to translate "forward to server2 only messages coming from a remote client" (or, alternatively, "forward to server2 only messages coming on port UDP 999"). In other words I would like to keep local syslog processing on server1 and simply proxy what comes in via UDP to outgoing messages via TCP.
I am not religiously attached to rsyslog so if there is a good way to set this up (including failover) on syslog-ng it would be perfect as well.
Thank you for any pointers!
WoJ
PS. I posted the question on the rsyslog forum just to realize afterwards that I will be probably better off posting my question here 🙂
EDIT: nxlog will be a better solution (see answer below & my comment)
Best Answer
I can also recommend you nxlog as its configuration allows you to more naturally define the flow what you specified above.
Config skeleton: