I did successfully setup my first production Graylog cluster (3x Graylog, 3x ES).
Everything is working fine, but I did not find a good solution to
distribute the load
get good availability
→ I need a loadbalancer
First try: haproxy → not suited for UDP
Second try: nginx → can loadbalance UDP, but does not preserve the source. → RAW-UDP-inputs are showing nginx-IP as source
How do you distribute the load to your cluster-nodes?
As for load balancers, We have set Nginx in front of Graylog Web UI for that connection. As for Data/Metadata redundancy this would be configured within Elasticsearch or MongoDb.
I have used my enterprise firewall as a load balancer this would depended on how you configured you environment.