Skip to content

Commit a47114a

Browse files
authored
Add details on load balance behaviour with Logstash output (#1024)
1 parent 7f2b096 commit a47114a

File tree

1 file changed

+12
-0
lines changed

1 file changed

+12
-0
lines changed

docs/en/ingest-management/elastic-agent/configuration/outputs/output-logstash.asciidoc

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -302,6 +302,18 @@ load balances published events onto all {ls} hosts. If `false`,
302302
the output plugin sends all events to one host (determined at random) and
303303
switches to another host if the selected one becomes unresponsive.
304304

305+
With `loadbalance` enabled:
306+
307+
* {agent} reads batches of events and sends each batch to one {ls} worker dynamically, based on a work-queue shared between the outputs.
308+
* If a connection drops, {agent} takes the disconnected {ls} worker out of its pool.
309+
* {agent} tries to reconnect. If it succeeds, it re-adds the {ls} worker to the pool.
310+
* 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.
311+
312+
Without `loadbalance` enabled:
313+
314+
* {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.
315+
* 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.
316+
305317
*Default:* `false`
306318

307319
Example:

0 commit comments

Comments
 (0)