-
Couldn't load subscription status.
- Fork 5k
Add support for pipelines in beatreceivers #47265
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
base: main
Are you sure you want to change the base?
Conversation
🤖 GitHub commentsExpand to view the GitHub comments
Just comment with:
|
|
This pull request does not have a backport label.
To fixup this pull request, you need to add the backport labels for the needed
|
| return outputs.Fail(err) | ||
| } | ||
|
|
||
| _, pipelineSelector, err := elasticsearch.BuildSelectors(im, beat, cfg) |
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.
We do not use early encoding here like elasticsearch output does https://github.com/khushijain21/beats/blob/pipelines/libbeat/outputs/elasticsearch/elasticsearch.go#L91
in favor of this issue here #44105 which intends to remove beat pipeline for beatreceivers
|
A follow up PR will be required to update this on elastic-agent. Since some of the |
|
Pinging @elastic/elastic-agent-data-plane (Team:Elastic-Agent-Data-Plane) |
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.
What happens if we specify a pipeline in the exporter config with our current integrations? Integrations specify a pipeline per event. We need whatever the current behavior is with process runtime to be replicated when we switch to otel runtime.
I tested this and for beats the behavior is
i.e our bulk requests look like
The elasticsearch documentation does not explicitly specify which takes precedence link - the query parameter or the the |
Proposed commit message
This PR adds support for
output.[elasticsearch].pipelinesparameter in beatreceivers. For Ref: https://www.elastic.co/docs/reference/fleet/elasticsearch-output#output-elasticsearch-data-parsing-settingsChecklist
./changelog/fragmentsusing the changelog tool.Disruptive User Impact
This requires
pipelinesconfig be set underotelconsumer. The final beatreceiver config will now look like thisAuthor's Checklist
How to test this PR locally
filebeat otelwith following config fileand you can observer the final events have an extra field
error_key: error valueRelated issues