-
Notifications
You must be signed in to change notification settings - Fork 4.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[filebeat] Add support for bulk_max_size
and preset
#42312
Conversation
This pull request does not have a backport label.
To fixup this pull request, you need to add the backport labels for the needed
|
|
bulk_max_size
bulk_max_size
and preset
Pinging @elastic/elastic-agent-data-plane (Team:Elastic-Agent-Data-Plane) |
/test |
It looks like we are mapping existing parameters in Beats to similarly named parameters in the OTel collector. This only makes sense if we know they behave equivalent from a performance perspective. The bulk_max_size translating to max_size_items looks like it is probably OK, did we test that it behaves exactly the same? https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/exporter/elasticsearchexporter/README.md#batching The presets I am much less sure about and I don't think we should touch them without benchmarking them. The parameter values looking the same doesn't matter, the performance characteristics being the same or better is what matters. How are we measuring that? |
Co-authored-by: Tiago Queiroz <me@tiago.life>
Yes. It was tested with setting
All parameters that preset overrides are supported including |
Thanks, as long as we know that we aren't done with these conversions until we can see that the performance is similar enough. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM as long as the performance is equivalent or better as Craig mentioned.
filebeatreceiver: | ||
filebeat: | ||
inputs: | ||
- type: filestream | ||
enabled: true | ||
id: filestream-input-id | ||
paths: | ||
- /tmp/flog.log | ||
output: | ||
elasticsearch: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't think this makes sense. If you have any kind of beat receiver defined, then it has to use the otelconsumer
output.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
the converter makes sure of setting otelconsumer
as output. The config provided to the converter is not changed much from what we have in filebeat.yml
.
You can also see this is true in the expected output here
https://github.com/elastic/beats/pull/42312/files/cd3c8a80de12c46705f24df2547f264fd3820424#diff-2160b9cb05793fa34025b850f0d97869eaf01f76997fffc55dde0b62d075e6c2R199-R201
* TODO comments implemented - Add support for bulk_max_size and presets in config translation layer --------- Co-authored-by: Tiago Queiroz <me@tiago.life> (cherry picked from commit cb34518)
) * TODO comments implemented - Add support for bulk_max_size and presets in config translation layer --------- Co-authored-by: Tiago Queiroz <me@tiago.life> (cherry picked from commit cb34518) Co-authored-by: Khushi Jain <khushi.jain@elastic.co>
Proposed commit message
This PR is a follow up to #41849. It improves test scenarios. It also adds support for
bulk_max_size
andpreset
.We will have to wait for next release of otel-collector to use
compression_level
parameter. But the default compression level used byelasticsearchexporter
is set to 1. So we can go ahead and supportpreset
paramater nowChecklist
CHANGELOG.next.asciidoc
orCHANGELOG-developer.next.asciidoc
.Related Issue
Part of https://github.com/elastic/opentelemetry-dev/issues/614
open-telemetry/opentelemetry-collector-contrib#37260