-
Notifications
You must be signed in to change notification settings - Fork 8.4k
Description
We are moving forward with a solution for "document-based routing" based a new ingest pipeline processor, called the reroute
processor. Fleet will be responsible for managing routing rules defined by packages and the end user, and updating ingest pipelines to include the new data_stream_router processor to apply the rules.
Links
- [Feature] Document based ingest routing elasticsearch#63798
- Add reroute processor elasticsearch#76511
- Invoke default pipeline of new index elasticsearch#85931
- Add ability to skip the rest of the processors in a pipeline elasticsearch#85932
- Architecture discussion
Overview diagram
Integration-defined routing rules
Integrations will be able to define routing rules about how data from other integrations or data streams should be routed to their own data stream. For example, the nginx
package may define a routing rule for the logs-kubernetes.container_logs
data stream to route logs to logs-nginx.access
whenever container.image.name == "nginx"
. Similarly, when the kubernetes
package is installed and the nginx
was also previously installed, we'll need to ensure the logs-kubernetes.router-{version}
ingest pipeline includes a reroute
processor for each routing rule defined on the nginx
integration.
To support this, we'll need to add a concept of routing rules to the package spec and add support for them in Fleet.
# Integration-defined routing rules
- [ ] https://github.com/elastic/package-spec/issues/514
- [ ] https://github.com/elastic/kibana/issues/155910
- [ ] https://github.com/elastic/kibana/issues/157422
- [ ] https://github.com/elastic/ingest-docs/issues/276
Supporting tasks
We'll need to do a few things in support of these changes as well, namely around API key permissions.
# Supporting tasks
- [ ] https://github.com/elastic/kibana/issues/134971
- [ ] https://github.com/elastic/package-spec/issues/315