-
Notifications
You must be signed in to change notification settings - Fork 211
wip: run filestream input in Otel #6555
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
Conversation
|
This pull request does not have a backport label. Could you fix it @swiatekm? 🙏
|
|
|
|
| if err != nil { | ||
| return nil, err | ||
| } | ||
| esExporterConfig, err := elasticsearch.ToOTelConfig(outputCfgC) |
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.
FYI, the package path has been updated https://github.com/elastic/beats/blob/main/libbeat/otelbeat/oteltranslate/outputs/elasticsearch/config_otel.go
|
This pull request is now in conflicts. Could you fix it? 🙏 |
| if err != nil { | ||
| return nil, err | ||
| } | ||
| esExporterConfig, err := elasticsearch.ToOTelConfig(outputCfgC) |
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.
Also, to note that queue settings defined under outputs/[output-type] is promoted one level up by beats. The queue settings from output will have to be updated under beatsreceiver to stay consistent. For example:
filebeatreceiver:
filebeat:
inputs:
output:
otelconsumer: nil
queue: // queue settings coming from ES should be updated here
mem: ....
FYI, for how it is done for beats in otel mode
| // send this configuration to the otel manager. | ||
| // Always called on the main Coordinator goroutine. | ||
| func (c *Coordinator) refreshOtelComponents(cfg map[string]any) (err error) { | ||
| err = c.generateOtelComponentConfig(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 may also want to inject the monitoring config before we generate the OTel components
|
Closing in favor of #6697 |


What does this PR do?
Run filestream inputs within the otel manager instead of the component model. This is a proof of concept of how this could work. We do a straightforward configuration translation from agent inputs and outputs to Otel receivers and exporters, and refactor configuration handling in the Coordinator to allow the configuration to either be handled by the Otel Manager or the Runtime Manager.
To Do:
Why is it important?
Checklist
./changelog/fragmentsusing the changelog toolDisruptive User Impact
How to test this PR locally
Related issues
Questions to ask yourself