mirror of
https://github.com/Icinga/icingabeat.git
synced 2025-08-15 14:58:08 +02:00
75 lines
2.5 KiB
Plaintext
75 lines
2.5 KiB
Plaintext
[[configuring-internal-queue]]
|
|
== Configure the internal queue
|
|
|
|
{beatname_uc} uses an internal queue to store events before publishing them. The
|
|
queue is responsible for buffering and combining events into batches that can
|
|
be consumed by the outputs. The outputs will use bulk operations to send a
|
|
batch of events in one transaction.
|
|
|
|
You can configure the type and behavior of the internal queue by setting options in the `queue` section of the +{beatname_lc}.yml+ config file.
|
|
|
|
|
|
Example configuration:
|
|
|
|
[source,yaml]
|
|
------------------------------------------------------------------------------
|
|
queue.mem:
|
|
events: 4096
|
|
------------------------------------------------------------------------------
|
|
|
|
[float]
|
|
[[configuration-internal-queue-memory]]
|
|
=== Configure the memory qeueue
|
|
|
|
The memory queue keeps all events in memory. It is the only queue type
|
|
supported right now. By default no flush interval is configured. All events
|
|
published to this queue will be directly consumed by the outputs.
|
|
The output's `bulk_max_size` setting limits the number of events being processed at once.
|
|
|
|
The memory queue waits for the output to acknowledge or drop events. If
|
|
the queue is full, no new events can be inserted into the memeory queue. Only
|
|
after the signal from the output will the queue free up space for more events to be accepted.
|
|
|
|
To enforce spooling in the queue, set the `flush.min_events` and `flush.timeout` options.
|
|
|
|
This sample configuration forwards events to the output if 512 events are
|
|
available or the oldest available event is already waiting for 5s in the queue:
|
|
|
|
[source,yaml]
|
|
------------------------------------------------------------------------------
|
|
queue.mem:
|
|
events: 4096
|
|
flush.min_events: 512
|
|
flush.timeout: 5s
|
|
------------------------------------------------------------------------------
|
|
|
|
[float]
|
|
==== Configuration options
|
|
|
|
You can specify the following options in the `queue.mem` section of the +{beatname_lc}.yml+ config file:
|
|
|
|
[float]
|
|
===== `events`
|
|
|
|
Number of events the queue can store.
|
|
|
|
The default value is 4096 events.
|
|
|
|
[float]
|
|
===== `flush.min_events`
|
|
|
|
Minimum number of events required for publishing. If this value is set to 0, the
|
|
output can start publishing events without additional waiting times. Otherwise
|
|
the output has to wait for more events to become available.
|
|
|
|
The default value is 0.
|
|
|
|
[float]
|
|
===== `flush.timeout`
|
|
|
|
Maximum wait time for `flush.min_events` to be fulfilled. If set to 0s, events
|
|
will be immediately available for consumption.
|
|
|
|
The default values is 0s.
|
|
|