Skip to content

Commit

Permalink
Add details on load balance behaviour with Logstash output (#1024) (#…
Browse files Browse the repository at this point in the history
…1066)

(cherry picked from commit a47114a)

Co-authored-by: David Kilfoyle <[email protected]>
  • Loading branch information
mergify[bot] and kilfoyle committed May 8, 2024
1 parent 2fbf69c commit 3fe7b23
Showing 1 changed file with 12 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -302,6 +302,18 @@ load balances published events onto all {ls} hosts. If `false`,
the output plugin sends all events to one host (determined at random) and
switches to another host if the selected one becomes unresponsive.

With `loadbalance` enabled:

* {agent} reads batches of events and sends each batch to one {ls} worker dynamically, based on a work-queue shared between the outputs.
* If a connection drops, {agent} takes the disconnected {ls} worker out of its pool.
* {agent} tries to reconnect. If it succeeds, it re-adds the {ls} worker to the pool.
* If one of the {ls} nodes is slow but "healthy", it sends a keep-alive signal until the full batch of data is processed. This prevents {agent} from sending further data until it receives an acknowledgement signal back from {ls}. {agent} keeps all events in memory until after that acknowledgement occurs.

Without `loadbalance` enabled:

* {agent} picks a random {ls} host and sends batches of events to it. Due to the random algorithm, the load on the {ls} nodes should be roughly equal.
* In case of any errors, {agent} picks another {ls} node, also at random. If a connection to a host fails, the host is retried only if there are errors on the new connection.

*Default:* `false`

Example:
Expand Down

0 comments on commit 3fe7b23

Please sign in to comment.