Fluent-bit: out_forward: support client side loadbalancing / failover

Created on 1 Mar 2017  路  14Comments  路  Source: fluent/fluent-bit

Hi,

it would be nice if fluentbit supports multiple targets and loadbalancing between them, at least failover should be supported

regards f0

enhancement fixed

Most helpful comment

@edsiper any plans on adding failover support as well?

All 14 comments

Thanks f0 for reporting this enhancement. I would also like to have this feature.

Regards,

I personally don't think this feature is a must have. I believe you can have a TCP load balancer in front of your multiple Fluentd-s and it will do the magic for you (including healthchecks/etc). As @edsiper said - currently fluent-bit opens one TCP connection per chunk of data on "flush" and sends it to receiving end. With this kind of approach load balancer will spread the load and make it work just fine.
I'd just like to have this setup to be documented/recommended somewhere in the docs.

Actually there many users who needs this because they cannot use a third-party balancer. So it's a feature that will be implemented shortly.

Having a balancer in the middle between Fluent Bit and Fluentd is something that works too, I will make sure to mention that in the documentation but cannot recommend X solution since it's out of Fluent scope.

Would like to see this implemented as well, so I can replace fluentd with fluent-bit in clients. We use multiple outputs to the same load balancer (different ports) to better utilize our collector nodes. This setus allows running 4 or 5 fluentd instances per collector node.

Any plans to implement this in the near future?

FYI: To be implemented, no ETA yet due to other priorities.

any updates on this issue ? Would like to see fail over capability similar to the multiple servers config option in fluentd now.

Load balancing design is underway, it will be part of 0.14 release, no fixed date yet.

Thanks for the update. Will look forward to the 0.14 release......:)

@edsiper While waiting on this to come in 0.14, I verified that fluentbit will balance traffic and properly fail over if I point a Forward target at a kubernetes cluster DNS name that resolves with multiple A records. Question: under the hood does fluentbit pin forwarding from individual Inputs (or record tags) to a single connection? Or does this introduce the possibility that logs from a single Input (eg a single docker container) could now be sent to different upstream targets?

FYI: Feature merged in GIT Master :)

more details here: https://github.com/fluent/fluent-bit/commit/dcd72451b9707333ae62b9dd3faf26f7575c10d6

Balancing mode (round-robin for now) has been implemented. In order to get started read about the Upstream Servers feature and it config here:

https://docs.fluentbit.io/manual/configuration/upstream_servers

@edsiper any plans on adding failover support as well?

@edsiper Hi, any updates or plans for this feature?

Was this page helpful?
0 / 5 - 0 ratings

Related issues

botzill picture botzill  路  4Comments

JavaCS3 picture JavaCS3  路  3Comments

dbluxo picture dbluxo  路  4Comments

UladzimirSemiankou picture UladzimirSemiankou  路  3Comments

mhf-ir picture mhf-ir  路  4Comments