-
Notifications
You must be signed in to change notification settings - Fork 24.3k
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
Ensure destination is a data stream when writing with a _bulk request #71637
Comments
@ph @mostlyjason from the Beats/Agent side, are you seeing similar issues as noted above? I think we should work towards a solution that solves this for all clients that write to data streams. |
We don't have this issue as Elastic Agent enforces the data stream naming scheme. I think LS should do the same. If a user wants a data stream that doesn't follow the logic, special params could be used to LS does the setup or it tells the user what to do manually. Another option we discusses is that the request would fail as long as the data stream does not exist. |
If the user builds a datastream that fits the naming scheme tuple (therefore with a different
We've refrained from this as Elasticsearch does not limit you to this couple of data streams patterns (
Right, we need the ability to know if the datastream exists with an api call (bad for performance) or as a feedback from a failed bulk request, hence this issue. |
Pinging @elastic/es-core-features (Team:Core/Features) |
If non of the supported types is used, no Elastic Agent cannot be used. I think it is ok if LS allows a "way out" for the users but it should strongly encourage it and make the way out complicated. Having everything using the same structure benefits users and us building the platform. LS already supports today using any data stream as in the end, any index can be set. So why not start with only supporting the existing types and then see what users come back with and why they need other types? I'm not convinced it is needed. |
hey @ruflin we will be releasing the ES output with only three supported data stream types: logs, metrics and synthetics. More at https://www.elastic.co/guide/en/logstash-versioned-plugins/current/v11.0.1-plugins-outputs-elasticsearch.html#v11.0.1-plugins-outputs-elasticsearch-data_stream_type (bug there in the docs not showing It's still useful to keep this enhancement request open until there's a time where ES only allows you to use these prepackaged streams that are guaranteed to exist. |
As we also support |
Problem
When writing data to a data stream with a _bulk request, there’s no way to ensure the destination is a data stream or results in the creation of one.
This can lead to Logstash writing and creating indices instead of data streams without any errors if there aren't any data stream definitions whose pattern matches the index name.
As such, we would like to have a mechanism to detect that problem and prevent sending data to a non data stream target.
Discussion
There's been some previous discussion that yield proposals, e.g:
followed by:
The text was updated successfully, but these errors were encountered: