Skip to content

Commit 2b79b9e

Browse files
authored
Merge branch 'main' into package-cloud-defend
2 parents c9eb0f3 + edef939 commit 2b79b9e

13 files changed

+76
-33
lines changed

.buildkite/bk.integration-fips.pipeline.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,9 @@ env:
44
ASDF_MAGE_VERSION: 1.14.0
55
MS_GOTOOLCHAIN_TELEMETRY_ENABLED: "0"
66

7-
IMAGE_UBUNTU_2404_X86_64: "platform-ingest-elastic-agent-ubuntu-2404-1764775167"
8-
IMAGE_UBUNTU_X86_64_FIPS: "platform-ingest-elastic-agent-ubuntu-2204-fips-1764775167"
9-
IMAGE_UBUNTU_ARM64_FIPS: "platform-ingest-elastic-agent-ubuntu-2204-fips-aarch64-1764775167"
7+
IMAGE_UBUNTU_2404_X86_64: "platform-ingest-elastic-agent-ubuntu-2404-1762801856"
8+
IMAGE_UBUNTU_X86_64_FIPS: "platform-ingest-elastic-agent-ubuntu-2204-fips-1762801856"
9+
IMAGE_UBUNTU_ARM64_FIPS: "platform-ingest-elastic-agent-ubuntu-2204-fips-aarch64-1762801856"
1010
ASDF_TERRAFORM_VERSION: 1.9.2
1111

1212
# This section is used to define the plugins that will be used in the pipeline.

.buildkite/bk.integration.pipeline.yml

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,14 @@ env:
66

77
# The following images are defined here and their values will be updated by updatecli
88
# Please do not change them manually.
9-
IMAGE_UBUNTU_2404_X86_64: "platform-ingest-elastic-agent-ubuntu-2404-1764775167"
10-
IMAGE_UBUNTU_2404_ARM_64: "platform-ingest-elastic-agent-ubuntu-2404-aarch64-1764775167"
11-
IMAGE_RHEL_8: "platform-ingest-elastic-agent-rhel-8-1764775167"
12-
IMAGE_RHEL_10: "platform-ingest-elastic-agent-rhel-10-1764775167"
13-
IMAGE_DEBIAN_11: "platform-ingest-elastic-agent-debian-11-1764775167"
14-
IMAGE_DEBIAN_13: "platform-ingest-elastic-agent-debian-13-1764775167"
15-
IMAGE_WIN_2022: "platform-ingest-elastic-agent-windows-2022-1764775167"
16-
IMAGE_WIN_2025: "platform-ingest-elastic-agent-windows-2025-1764775167"
9+
IMAGE_UBUNTU_2404_X86_64: "platform-ingest-elastic-agent-ubuntu-2404-1762801856"
10+
IMAGE_UBUNTU_2404_ARM_64: "platform-ingest-elastic-agent-ubuntu-2404-aarch64-1762801856"
11+
IMAGE_RHEL_8: "platform-ingest-elastic-agent-rhel-8-1762801856"
12+
IMAGE_RHEL_10: "platform-ingest-elastic-agent-rhel-10-1762801856"
13+
IMAGE_DEBIAN_11: "platform-ingest-elastic-agent-debian-11-1762801856"
14+
IMAGE_DEBIAN_13: "platform-ingest-elastic-agent-debian-13-1762801856"
15+
IMAGE_WIN_2022: "platform-ingest-elastic-agent-windows-2022-1762801856"
16+
IMAGE_WIN_2025: "platform-ingest-elastic-agent-windows-2025-1762801856"
1717
ASDF_TERRAFORM_VERSION: 1.9.2
1818

1919
# This section is used to define the plugins that will be used in the pipeline.

.buildkite/integration.pipeline.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@ env:
99

1010
# The following images are defined here and their values will be updated by updatecli
1111
# Please do not change them manually.
12-
IMAGE_UBUNTU_2204_X86_64: "platform-ingest-elastic-agent-ubuntu-2204-1764775167"
13-
IMAGE_UBUNTU_2204_ARM_64: "platform-ingest-elastic-agent-ubuntu-2204-aarch64-1764775167"
12+
IMAGE_UBUNTU_2204_X86_64: "platform-ingest-elastic-agent-ubuntu-2204-1762801856"
13+
IMAGE_UBUNTU_2204_ARM_64: "platform-ingest-elastic-agent-ubuntu-2204-aarch64-1762801856"
1414

1515
common:
1616
- vault_docker_login: &vault_docker_login

.buildkite/pipeline.elastic-agent-binary-dra.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@ env:
99

1010
# The following images are defined here and their values will be updated by updatecli
1111
# Please do not change them manually.
12-
IMAGE_UBUNTU_2404_X86_64: "platform-ingest-elastic-agent-ubuntu-2404-1764775167"
13-
IMAGE_UBUNTU_2404_ARM_64: "platform-ingest-elastic-agent-ubuntu-2404-aarch64-1764775167"
12+
IMAGE_UBUNTU_2404_X86_64: "platform-ingest-elastic-agent-ubuntu-2404-1762801856"
13+
IMAGE_UBUNTU_2404_ARM_64: "platform-ingest-elastic-agent-ubuntu-2404-aarch64-1762801856"
1414

1515
# This section is used to define the plugins that will be used in the pipeline.
1616
# See https://buildkite.com/docs/pipelines/integrations/plugins/using#using-yaml-anchors-with-plugins

.buildkite/pipeline.elastic-agent-package.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@ env:
77

88
# The following images are defined here and their values will be updated by updatecli
99
# Please do not change them manually.
10-
IMAGE_UBUNTU_2404_X86_64: "platform-ingest-elastic-agent-ubuntu-2404-1764775167"
11-
IMAGE_UBUNTU_2404_ARM_64: "platform-ingest-elastic-agent-ubuntu-2404-aarch64-1764775167"
10+
IMAGE_UBUNTU_2404_X86_64: "platform-ingest-elastic-agent-ubuntu-2404-1762801856"
11+
IMAGE_UBUNTU_2404_ARM_64: "platform-ingest-elastic-agent-ubuntu-2404-aarch64-1762801856"
1212

1313
steps:
1414
- input: "Build parameters"

.buildkite/pipeline.yml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,12 @@ env:
55

66
# The following images are defined here and their values will be updated by updatecli
77
# Please do not change them manually.
8-
IMAGE_UBUNTU_2204_X86_64: "platform-ingest-elastic-agent-ubuntu-2204-1764775167"
9-
IMAGE_UBUNTU_2204_ARM_64: "platform-ingest-elastic-agent-ubuntu-2204-aarch64-1764775167"
10-
IMAGE_WIN_2016: "platform-ingest-elastic-agent-windows-2016-1764775167"
11-
IMAGE_WIN_2022: "platform-ingest-elastic-agent-windows-2022-1764775167"
12-
IMAGE_WIN_10: "platform-ingest-elastic-agent-windows-10-1764775167"
13-
IMAGE_WIN_11: "platform-ingest-elastic-agent-windows-11-1764775167"
8+
IMAGE_UBUNTU_2204_X86_64: "platform-ingest-elastic-agent-ubuntu-2204-1762801856"
9+
IMAGE_UBUNTU_2204_ARM_64: "platform-ingest-elastic-agent-ubuntu-2204-aarch64-1762801856"
10+
IMAGE_WIN_2016: "platform-ingest-elastic-agent-windows-2016-1762801856"
11+
IMAGE_WIN_2022: "platform-ingest-elastic-agent-windows-2022-1762801856"
12+
IMAGE_WIN_10: "platform-ingest-elastic-agent-windows-10-1762801856"
13+
IMAGE_WIN_11: "platform-ingest-elastic-agent-windows-11-1762801856"
1414

1515
steps:
1616
- label: "check-ci"

NOTICE-fips.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -787,11 +787,11 @@ Contents of probable licence file $GOMODCACHE/github.com/dolmen-go/contextio@v0.
787787

788788
--------------------------------------------------------------------------------
789789
Dependency : github.com/elastic/beats/v7
790-
Version: v7.0.0-alpha2.0.20251203211604-ed2d8843ff7f
790+
Version: v7.0.0-alpha2.0.20251204214633-dd3af18220bf
791791
Licence type (autodetected): Elastic
792792
--------------------------------------------------------------------------------
793793

794-
Contents of probable licence file $GOMODCACHE/github.com/elastic/beats/[email protected].20251203211604-ed2d8843ff7f/LICENSE.txt:
794+
Contents of probable licence file $GOMODCACHE/github.com/elastic/beats/[email protected].20251204214633-dd3af18220bf/LICENSE.txt:
795795

796796
Source code in this repository is variously licensed under the Apache License
797797
Version 2.0, an Apache compatible license, or the Elastic License. Outside of

NOTICE.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -787,11 +787,11 @@ Contents of probable licence file $GOMODCACHE/github.com/dolmen-go/contextio@v0.
787787

788788
--------------------------------------------------------------------------------
789789
Dependency : github.com/elastic/beats/v7
790-
Version: v7.0.0-alpha2.0.20251203211604-ed2d8843ff7f
790+
Version: v7.0.0-alpha2.0.20251204214633-dd3af18220bf
791791
Licence type (autodetected): Elastic
792792
--------------------------------------------------------------------------------
793793

794-
Contents of probable licence file $GOMODCACHE/github.com/elastic/beats/[email protected].20251203211604-ed2d8843ff7f/LICENSE.txt:
794+
Contents of probable licence file $GOMODCACHE/github.com/elastic/beats/[email protected].20251204214633-dd3af18220bf/LICENSE.txt:
795795

796796
Source code in this repository is variously licensed under the Apache License
797797
Version 2.0, an Apache compatible license, or the Elastic License. Outside of

docs/hybrid-agent-beats-receivers.md

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -193,6 +193,7 @@ receivers:
193193
paths:
194194
- /var/log/*.log
195195
type: filestream
196+
queue.mem.flush.timeout: 0s
196197
metricbeatreceiver:
197198
metricbeat:
198199
modules:
@@ -202,6 +203,7 @@ receivers:
202203
metricsets:
203204
- cpu
204205
module: system
206+
queue.mem.flush.timeout: 0s
205207
exporters:
206208
elasticsearch/_agent-component/default:
207209
api_key: placeholder
@@ -214,6 +216,24 @@ exporters:
214216
enabled: true
215217
mapping:
216218
mode: bodymap
219+
220+
retry:
221+
enabled: true
222+
initial_interval: 1s
223+
max_interval: 1m0s
224+
max_retries: 3
225+
226+
sending_queue:
227+
enabled: true
228+
wait_for_result: true
229+
block_on_overflow: true
230+
num_consumers: 1
231+
queue_size: 3200
232+
batch:
233+
max_size: 1600
234+
min_size: 0
235+
flush_timeout: 10s
236+
sizer: items
217237
service:
218238
pipelines:
219239
logs:
@@ -223,3 +243,26 @@ service:
223243
- filebeatreceiver
224244
- metricbeatreceiver
225245
```
246+
247+
### Beats receivers delivery guarantees in OTel mode
248+
249+
When Beat receivers are used in OTel mode, event delivery guarantees depend on the configuration of the OpenTelemetry Collector `sending_queue` and retry settings.
250+
Unlike standalone Beats, the EDOT pipeline allows users to customize queue behavior through the Collector configuration.
251+
This flexibility is useful, but it also means that not every option combination is compatible with reliable delivery.
252+
253+
Elastic Agent in OTel mode provides an **at least once** delivery guarantee for Beat receivers **only when using the supported `sending_queue` settings described below**.
254+
These settings mirror Beats pipeline behavior closely enough to preserve durability expectations.
255+
256+
If users provide arbitrary `sending_queue` or Beat queue overrides, delivery semantics become **undefined** and **at least once delivery cannot be guaranteed**.
257+
These combinations are not tested and may result in event loss during backpressure or shutdown.
258+
259+
To achieve the intended delivery guarantee, the exporter that receives events from Beat receivers must define a `sending_queue` with the following characteristics:
260+
261+
- `enabled: true`: The queue must be active.
262+
- `wait_for_result: true`: The pipeline must wait for the exporter response before removing events.
263+
- `block_on_overflow: true`: Prevents event drops when the queue is full.
264+
- The `batch` configuration must include explicit `max_size`, `min_size`, and `flush_timeout` values to ensure events are grouped and flushed in predictable, controlled batches.
265+
266+
Additionally, the retry settings must be enabled on the exporter, using a backoff policy that retries until the operation succeeds. By default, `max_retries` is set to 3, which is how most Beats behave. Standalone Filebeat, however, retries indefinitely. Beats receivers don't support unlimited retries yet, and this is being tracked at https://github.com/elastic/beats/issues/47892.
267+
268+
Beat receivers also require the Beat-internal memory queue to run in synchronous mode for delivery guarantees. This is enabled by setting `queue.mem.flush.timeout: 0s` in each receiver configuration, as shown in the example above.

go.mod

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ require (
1414
github.com/docker/docker v28.5.1+incompatible
1515
github.com/docker/go-units v0.5.0
1616
github.com/dolmen-go/contextio v0.0.0-20200217195037-68fc5150bcd5
17-
github.com/elastic/beats/v7 v7.0.0-alpha2.0.20251203211604-ed2d8843ff7f
17+
github.com/elastic/beats/v7 v7.0.0-alpha2.0.20251204214633-dd3af18220bf
1818
github.com/elastic/cloud-on-k8s/v2 v2.0.0-20250327073047-b624240832ae
1919
github.com/elastic/elastic-agent-autodiscover v0.10.0
2020
github.com/elastic/elastic-agent-client/v7 v7.17.2

0 commit comments

Comments
 (0)