Below is the current architecture of Syslog-NG to avoid single point of failure.
Currently devices send same syslog message to two syslog servers listening on UDP port 514. Each server stores the syslog message(*.log) and also forwards the same message to multiple consumers.
Forwarding causes duplication of messages. For this, haproxy can be deployed between Devices and Syslog server, as mentioned here, to resolve duplication of messages.
1) In our environment, Devices can currently send syslog messages to UDP port (only). Device owner is yet to agree to send syslog message to TCP port, on which, it would further ease to work with haproxy.
2) In our environment, Syslog server is allowed to listen on TCP port which helps to work with haproxy , so...
source src {
tcp(ip(1.2.3.4),port(514));
}
Following third advice given in this answer,
Can TCP based haproxy listen on UDP port to receive syslog messages from devices? If yes, how to configure?
