总题思路通过haproxy 接收514端口数据 然后分给不同的本地端口或者其他主机端口进行消费syslog 提高吞吐日志吞吐能力。

image-20230718152832967

以下是一个示例的 HAProxy 配置,它监听 TCP 端口 514,并将其分发到端口 515 和 516:

global
    log 127.0.0.1 local2
    chroot /var/lib/haproxy
    pidfile /var/run/haproxy.pid
    maxconn 4000
    user haproxy
    group haproxy
    daemon

defaults
    log global
    mode tcp
    option tcplog
    option dontlognull
    timeout connect 5000
    timeout client 50000
    timeout server 50000

frontend syslog_tcp
    bind *:514 
    mode tcp
    option tcplog
    default_backend syslog_tcp

backend syslog_tcp
    mode tcp
    balance roundrobin
    server syslog1 127.0.0.1:515 check
    server syslog2 127.0.0.1:516 check

在这个配置中:

  • global 部分定义了 HAProxy 的一般设置,例如日志和用户权限。
  • defaults 部分定义了 TCP 模式的默认设置,包括超时和日志记录。
  • frontend syslog_tcp 部分监听 TCP端口 514。
  • backend syslog_tcp 部分定义了将被转发的后端服务器。在这个示例中,它使用轮询负载均衡算法将消息分发到两个服务器(127.0.0.1:515127.0.0.1:516)。你可以将这些 IP 地址和端口替换为实际的日志服务器的 IP 地址和端口。

请注意,这只是一个基本的配置示例,你可能需要根据具体要求进行修改,例如添加其他设置或调整超时时间。