下面是当前的架构系统日志-NG以避免单点故障。
当前设备发送相同的系统日志消息到监听 UDP 端口 514 的两个系统日志服务器。每个服务器存储系统日志消息 ( *.log
) 并将相同的消息转发给多个使用者。
转发导致消息重复。为此,如前所述,可以在设备和 Syslog 服务器之间部署 haproxy这里,解决消息重复问题。
1) 在我们的环境中,设备当前可以将系统日志消息发送到 UDP 端口(仅)。设备所有者是尚未同意将系统日志消息发送到 TCP 端口,在该端口上,可以进一步轻松使用哈代理。
2)在我们的环境中,Syslog服务器被允许监听 TCP 端口,这有助于使用哈代理, 所以...
source src {
tcp(ip(1.2.3.4),port(514));
}
以下给出的第三条建议回答,
能基于TCP的haproxy侦听 UDP 端口以接收来自设备的系统日志消息?如果可以,如何配置?
答案1
HAProxy 只处理 TCP,不处理 UDP。如果您的系统只能使用 UDP 发送系统日志消息,则您需要 HAProxy 以外的其他工具。
一种可能性是nginx- 通常被称为 Web 服务器,但它是许多不同服务的良好代理服务器,并且还可以进行 UDP 负载平衡。另一种可能性是使用集群代理,例如Corosync/起搏器拥有一个可以根据需要在两台服务器之间移动的虚拟 IP 地址。