On Thu, 24 Oct 2013, Pavel Levshin wrote:
So he would have a pool of TCP connections in parallel, balancing the load
between them. In some cases, it happens naturally when many TCP clients are
exist.
we are talking about sending logs, not receiving them. The client is rsyslog.
there is not currently a way to have multiple connections in parallel with
rsyslog.
In addition, implementing this properly in rsyslog would require that rsyslog
gain the ability to do far more than just round-robin balancing between the
different connections in the cases where one destination is slower than others.
RebindInterval for high-speed TCP is like balancing a water cannon between
people, pointing to one of them at once. Better than nothing, but still not
so good.
In theory you are correct, but it is the only tool available, and in practice
it works very well. It lets rsyslog concentrate on it's job and lets you use
your load balancer of choice to manage the load balancing.
David Lang
--
Pavel Levshin
24.10.2013 2:38, David Lang:
On Wed, 23 Oct 2013, Pavel Levshin wrote:
IMHO, for high-load TCP, rebindinterval is counter-productive, because you
need to establish a new connection each time. But yes, this parameter
exists.
rebindinterval is how many messages you send over each connection, you
would only have to set a new connection each time if you set it to 1. you
should set it to something that approaches a second or so of traffic (or at
least a significant fraction of a second, keep in mind low traffic periods
if you want your traffic still balanced then)
Load balancing is very dependent on nature of your load, on your
bottlenecks, and so on. Why do you want to balance TCP connections?
because the system he is sending to doesn't have the capacity to handle the
full feed, so he wants to spread the traffic over multiple machines. To do
so, he needs to have the TCP connection re-established periodically to give
the load balancer a chance to redistribute traffic.
David Lang
--
Pavel Levshin
23.10.2013 23:26, Erik Steffl:
What are recommendations for use of rsyslog with loadbalancers? We have
setup where number of machines run rsyslog and forward syslog messages to
central location using RELP protocol (using omrelp module).
The central location is a load balancer with cluster of machines behind
it (that run rsyslog and use imrelp).
I assume this is not an uncommon scenario so hoping that there is a way
to do this in a way that does load balancing.
The problem is that TCP connection stays open for a long time so there is
effectively no load balancing done. Looking for a solution I found
http://www.rsyslog.com/load-balancing-for-rsyslog/ which mentions
RebindInterval which is documented in omfwd docs
http://www.rsyslog.com/doc/omfwd.html
However I don't see RebindInterval in omrelp docs
http://www.rsyslog.com/doc/omrelp.html and when I try to use it rsyslog
segfaults (in relpCltHintBurstEnd in librelp.so.0, also sent email
specifically about that).
Should RebindInterval work for omrelp? Or is there some other way to
re-open TCP connection so that load balancing works?
Thanks!
erik
_______________________________________________
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.
_______________________________________________
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.