Estou tendo problemas com o balanceamento de carga do Syslog do UDP para os nós de cluster do Graylog. No começo, tudo parecia funcionar normalmente, mas parece que o tráfego está fluindo em 99% para um dos dois nós.
Eu tenho dois servidores Ubuntu (18.04) executando o Keepalived 1.3.9. Eles compartilham o IP virtual que é compartilhado via VRRP. Eles estão usando o NAT para encaminhar o tráfego para os servidores reais com base no round robin.
global_defs {
notification_email {
redacted@mail
}
notification_email_from severname-redacted
smtp_server mailsever.redacted
smtp_connect_timeout 30
router_id servername
}
vrrp_instance VI_1 {
state MASTER
interface ens160
virtual_router_id 216
priority 200
advert_int 1
preempt_delay 30
virtual_ipaddress {
10.18.242.216
}
notify /usr/local/bin/vrrp_state.sh
}
virtual_server 10.18.242.216 10514 {
delay_loop 2
protocol UDP
lb_algo rr # round robin
lb_kind NAT # NAT
real_server 10.18.242.214 10514 {
weight 1
HTTP_GET {
url {
path "/api/system/lbstatus"
status_code 200
}
connect_timeout 3
connect_port 9000
}
}
real_server 10.18.242.213 10514 {
weight 1
HTTP_GET {
url {
path "/api/system/lbstatus"
status_code 200
}
connect_timeout 3
connect_port 9000
}
}
}
O balanceador de carga secundário está usando a mesma configuração, exceto a prioridade que é 100.
O failover entre os balanceadores de carga está funcionando como esperado, mas ambos parecem encaminhar o tráfego apenas para o primeiro nó do Graylog:
oot@redacted-lb1:~# ipvsadm -L -n --rate
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port CPS InPPS OutPPS InBPS OutBPS
-> RemoteAddress:Port
UDP 10.18.242.216:10514 0 57 0 16581 0
-> 10.18.242.213:10514 0 67 0 19666 0
-> 10.18.242.214:10514 0 0 0 0 0
Como você pode ver, não há tráfego para o nó Graylog secundário, mesmo que o peso seja igual e usemos round robin. Alguma solução de problemas que não funcionou:
Os nós Graylog estão funcionando bem e são quase idênticos na configuração. Você pode enviar o syslog para ambos diretamente para que eles não pareçam ser o problema.
Tags graylog2 keepalived ipvs