Hi, We're using rsyslog v7.4.4 on our machines (let's call them client nodes) and it is configured to ship logs via UDP to a handful of machines running rsyslog v8.22 (let's call them server nodes). These server nodes filter messages and send them to appropriate data stores: an ELK-like service for search/alerting, long term archiving, short term storage..
On the client nodes, the forwarding destination is a DNS A record with 2 associated IP addresses. Dnsmasq is setup locally to cache DNS answers and shuffle IPs in a round robin fashion when applicable. When Dnsmasq does not have an answer in cache, it forwards the query to Consul which is our service discovery system. This has been a proven setup for us and most of our services use DNS to spread the load over multiple instances. I'd like to implement the same thing for our logging pipeline. I've setup a Consul service backed by several rsyslog server nodes, and I have a script running on the client nodes that restarts rsyslog when it detects a change in Consul topology. My issue is that on the client nodes, rsyslog seems to ignore the Round Robin answers, and at each topology change all clients send their logs to the same server. I can verify that Round Robin works though, using tools like ping, host, or Python's socket.getaddrinfo(). Does rsyslog do things differently, like sorting the items returned by getaddrinfo? Can someone point me to the code responsible for this? Thank you for your help. Simon _______________________________________________ rsyslog mailing list http://lists.adiscon.net/mailman/listinfo/rsyslog http://www.rsyslog.com/professional-services/ What's up with rsyslog? Follow https://twitter.com/rgerhards NOTE WELL: This is a PUBLIC mailing list, posts are ARCHIVED by a myriad of sites beyond our control. PLEASE UNSUBSCRIBE and DO NOT POST if you DON'T LIKE THAT.

