This is a meta issue to track progress of adding EQL support to Elasticsearch. EQL will be supported via a new Elastic licensed plugin which will provide execution of EQL rules.
The language reference for EQL can be found here
Scope of first iteration
Language features
In Scope
Out of Scope
- Lineage, i.e.:
- Descendant of
- Child of
- Event of
- Array functions
- arrayContains
- arraySearch
- arrayCount
fork in sequences
Things to consider during the design and implementation
- EQL is a language that’s already used in the wild. Any changes we make to the language or the way EQL rules are written will have implications on the existing users and migration of users to future versions so these should be very carefully considered
- A separate implementation of EQL will still exist that queries the endpoint devices directly. This means that we should avoid differences between writing EQL for Elasticsearch and EQL to run on the endpoints as any differences would have the potential to confuse users
- We see EQL being useful in many use cases. The Elasticsearch implementation need to be able to be used on generic data not just Endpoint data. EQL should default to expecting data in ECS format, but should have the ability to be overridden so it can be used on other schemas as well
High level tasks
Each task here has its own issue and some bigger tasks might have their own meta issue:
This is a meta issue to track progress of adding EQL support to Elasticsearch. EQL will be supported via a new Elastic licensed plugin which will provide execution of EQL rules.
The language reference for EQL can be found here
Scope of first iteration
Language features
In Scope
Out of Scope
forkin sequencesThings to consider during the design and implementation
High level tasks
Each task here has its own issue and some bigger tasks might have their own meta issue:
event_type where CRITERIAwhereCRITERIAcan usefield_name=value, together with and/or/not