-
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
[Agent] Exposed stream.type, stream.dataset and stream.namespace to every events. #16562
Comments
Pinging @elastic/ingest (Project:fleet) |
@ruflin I see two issues here:
|
Maybe this could be done on the Fleet side? I worry adding magic fields or processors especially since they could impact other user-defined processors, because ordering is important and having values modified without you knowing is not nice? |
I think Namespace: Lets not allow the user to modify the namespace at the stream level to keep things simple. There is an other reason having this fields in each even is important. Lets assume we support LS output in the future an all events are sent through LS. I expect LS to use these fields to make the right decision on where to send the data. (@jsvd FYI) |
To have that logic in beats this would mean that we add type, namespace and dataset as configuration field in the input and the input magically use add_fields? |
Yes. If add_fields is used or hardcoded does not matter in the end. |
Pinging @elastic/ingest-management (Team:ingest-management) |
@michalpristas @ruflin I think this has felt into a crack. Michal can you take a look? |
Some modules define like Suricata a single input where mixed events are generated: metrics, logs or alerts. The identification of the data is often done in the ingest pipeline, where the type is generated from fields or values from the data.
The way the agent operates it assumes unique type of data would be generated from input. This is normally true, but there is an exception like the Suricata system. To allow the maximun flexibility we should add fields to the event to allow the target index to be generated inside an ingest pipeline.
To do so we want to add the following fields to each event.
The values for
stream.type
andstream.namespace
are inherited from the datasource and the input definition.So see the following examples for generation rules:
Will generate an event with the following values:
The text was updated successfully, but these errors were encountered: