The Secure60 Syslog Balancer accepts syslog traffic and distributes each message across multiple backend collectors to prevent hotspots and stuck streams. It supports:
No application changes are required on senders; point existing syslog clients at the balancer.
docker run -d --rm --name s60-syslog-balancer \
-p 515:515/udp -p 6515:6515/tcp \
-e BACKENDS="collector1:514,collector2:514" \
secure60/s60-syslog-balancer:1.06
services:
s60-lb:
image: secure60/s60-syslog-balancer:1.06
container_name: s60-syslog-balancer
environment:
BACKENDS: "be1:5514,be2:5514"
ENABLE_UDP: "true"
LISTEN_UDP_PORT: "515"
ENABLE_TCP: "false"
ENABLE_TCP_TLS: "true"
LISTEN_TCP_TLS_PORT: "6515"
# Hash-based routing (default):
LB_POLICY: "hash"
LB_HASH_KEY: "msg"
ports:
- "515:515/udp"
- "6515:6515/tcp"
depends_on: [be1, be2]
| Variable | Description | Default |
|---|---|---|
ENABLE_UDP |
Enable UDP listener | true |
LISTEN_UDP_PORT |
UDP listen port | 515 |
ENABLE_TCP |
Enable plain TCP listener | false |
LISTEN_TCP_PORT |
Plain TCP listen port | 516 |
ENABLE_TCP_TLS |
Enable TLS/TCP listener | true |
LISTEN_TCP_TLS_PORT |
TLS/TCP listen port | 6515 |
BACKENDS |
Comma-separated host[:port] backends |
required |
BACKEND_PORT |
Default backend port if omitted | 514 |
BACKEND_PROTOCOL |
Backend protocol tcp or udp |
tcp |
LB_POLICY |
hash (default) or random |
hash |
LB_HASH_KEY |
msg, hostname, appname, fromhost-ip |
msg |
TLS_SERVER_CERT |
Path to listener public cert | /etc/rsyslog.d/certs/server.crt |
TLS_SERVER_KEY |
Path to listener private key | /etc/rsyslog.d/certs/server.key |
TLS_SERVER_CA |
Optional CA for client cert validation | empty |
TLS_REQUIRE_CLIENT_CERT |
Require client certificates (mTLS) | false |
WORK_DIRECTORY |
Queue/working directory | /var/spool/rsyslog |
MAINQ_MAX_DISK_GB |
Max disk for main queue | 10 |
ACTIONQ_MAX_DISK_GB |
Max disk per backend queue | 5 |
ACTION_QUEUE_SIZE |
Action queue in-memory size | 20000 |
QUEUE_HIGHWATERMARK |
High watermark before throttling | 16000 |
QUEUE_LOWWATERMARK |
Low watermark to resume | 4000 |
TLS_SERVER_CERT and TLS_SERVER_KEY.TLS_SERVER_CA and TLS_REQUIRE_CLIENT_CERT=true.LB_POLICY=hash and LB_HASH_KEY=hostname if you want stable backend affinity per sender.BACKEND_PROTOCOL=tcp to maintain reliability end-to-end.msg with time entropy balances broadly; hostname pins per host.For assistance with the Secure60 Syslog Balancer, contact the integrations team at integrations@secure60.io.