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.

Reply via email to