|
1 | 1 | ---
|
2 | 2 | setup:
|
| 3 | + - do: |
| 4 | + indices.create: |
| 5 | + index: eql_test |
| 6 | + body: |
| 7 | + mappings: |
| 8 | + runtime: |
| 9 | + day_of_week: |
| 10 | + type: keyword |
| 11 | + script: |
| 12 | + source: "emit(doc['@timestamp'].value.dayOfWeekEnum.getDisplayName(TextStyle.FULL, Locale.ROOT))" |
3 | 13 | - do:
|
4 | 14 | bulk:
|
5 | 15 | refresh: true
|
@@ -49,6 +59,55 @@ setup:
|
49 | 59 | - match: {hits.events.1._id: "2"}
|
50 | 60 | - match: {hits.events.2._id: "3"}
|
51 | 61 |
|
| 62 | +--- |
| 63 | +"Execute EQL events query with fields filtering": |
| 64 | + - do: |
| 65 | + eql.search: |
| 66 | + index: eql_test |
| 67 | + body: |
| 68 | + query: 'process where user == "SYSTEM"' |
| 69 | + fields: [{"field":"@timestamp","format":"epoch_millis"},"id","valid","day_of_week"] |
| 70 | + |
| 71 | + - match: {timed_out: false} |
| 72 | + - match: {hits.total.value: 3} |
| 73 | + - match: {hits.total.relation: "eq"} |
| 74 | + - match: {hits.events.0._source.user: "SYSTEM"} |
| 75 | + - match: {hits.events.0._id: "1"} |
| 76 | + - match: {hits.events.0.fields.@timestamp: ["1580733296000"]} |
| 77 | + - match: {hits.events.0.fields.id: [123]} |
| 78 | + - match: {hits.events.0.fields.valid: [false]} |
| 79 | + - match: {hits.events.0.fields.day_of_week: ["Monday"]} |
| 80 | + - match: {hits.events.1._id: "2"} |
| 81 | + - match: {hits.events.1.fields.@timestamp: ["1580819696000"]} |
| 82 | + - match: {hits.events.1.fields.id: [123]} |
| 83 | + - match: {hits.events.1.fields.valid: [true]} |
| 84 | + - match: {hits.events.1.fields.day_of_week: ["Tuesday"]} |
| 85 | + - match: {hits.events.2._id: "3"} |
| 86 | + - match: {hits.events.2.fields.@timestamp: ["1580906096000"]} |
| 87 | + - match: {hits.events.2.fields.id: [123]} |
| 88 | + - match: {hits.events.2.fields.valid: [true]} |
| 89 | + - match: {hits.events.2.fields.day_of_week: ["Wednesday"]} |
| 90 | + |
| 91 | +--- |
| 92 | +"Execute EQL events query with filter_path": |
| 93 | + - do: |
| 94 | + eql.search: |
| 95 | + index: eql_test |
| 96 | + filter_path: "hits.events._source.event.category,hits.events.fields.user,hits.events.fields.id" |
| 97 | + body: |
| 98 | + query: 'process where user == "SYSTEM"' |
| 99 | + fields: [{"field":"@timestamp","format":"epoch_millis"},"id","valid","user"] |
| 100 | + |
| 101 | + - match: {hits.events.0._source.event.0.category: "process"} |
| 102 | + - match: {hits.events.0.fields.id: [123]} |
| 103 | + - match: {hits.events.0.fields.user: ["SYSTEM"]} |
| 104 | + - match: {hits.events.1._source.event.0.category: "process"} |
| 105 | + - match: {hits.events.1.fields.id: [123]} |
| 106 | + - match: {hits.events.1.fields.user: ["SYSTEM"]} |
| 107 | + - match: {hits.events.2._source.event.0.category: "process"} |
| 108 | + - match: {hits.events.2.fields.id: [123]} |
| 109 | + - match: {hits.events.2.fields.user: ["SYSTEM"]} |
| 110 | + |
52 | 111 | ---
|
53 | 112 | "Execute EQL sequence with string key.":
|
54 | 113 | - do:
|
@@ -124,6 +183,57 @@ setup:
|
124 | 183 | - match: {hits.sequences.0.join_keys.0: true}
|
125 | 184 | - match: {hits.sequences.0.events.0._id: "2"}
|
126 | 185 | - match: {hits.sequences.0.events.1._id: "3"}
|
| 186 | + |
| 187 | +--- |
| 188 | +"Execute EQL sequence with fields filtering.": |
| 189 | + - do: |
| 190 | + eql.search: |
| 191 | + index: eql_test |
| 192 | + body: |
| 193 | + query: 'sequence by user [process where user == "SYSTEM"] [process where true]' |
| 194 | + fields: [{"field":"@timestamp","format":"epoch_millis"},"id","valid","day_of_week"] |
| 195 | + - match: {timed_out: false} |
| 196 | + - match: {hits.total.value: 2} |
| 197 | + - match: {hits.total.relation: "eq"} |
| 198 | + - match: {hits.sequences.0.join_keys.0: "SYSTEM"} |
| 199 | + - match: {hits.sequences.0.events.0._id: "1"} |
| 200 | + - match: {hits.sequences.0.events.0.fields.@timestamp: ["1580733296000"]} |
| 201 | + - match: {hits.sequences.0.events.0.fields.id: [123]} |
| 202 | + - match: {hits.sequences.0.events.0.fields.valid: [false]} |
| 203 | + - match: {hits.sequences.0.events.0.fields.day_of_week: ["Monday"]} |
| 204 | + - match: {hits.sequences.0.events.1._id: "2"} |
| 205 | + - match: {hits.sequences.0.events.1.fields.@timestamp: ["1580819696000"]} |
| 206 | + - match: {hits.sequences.0.events.1.fields.id: [123]} |
| 207 | + - match: {hits.sequences.0.events.1.fields.valid: [true]} |
| 208 | + - match: {hits.sequences.0.events.1.fields.day_of_week: ["Tuesday"]} |
| 209 | + - match: {hits.sequences.1.join_keys.0: "SYSTEM"} |
| 210 | + - match: {hits.sequences.1.events.0._id: "2"} |
| 211 | + - match: {hits.sequences.1.events.0.fields.@timestamp: ["1580819696000"]} |
| 212 | + - match: {hits.sequences.1.events.0.fields.id: [123]} |
| 213 | + - match: {hits.sequences.1.events.0.fields.valid: [true]} |
| 214 | + - match: {hits.sequences.1.events.0.fields.day_of_week: ["Tuesday"]} |
| 215 | + - match: {hits.sequences.1.events.1._id: "3"} |
| 216 | + - match: {hits.sequences.1.events.1.fields.@timestamp: ["1580906096000"]} |
| 217 | + - match: {hits.sequences.1.events.1.fields.id: [123]} |
| 218 | + - match: {hits.sequences.1.events.1.fields.valid: [true]} |
| 219 | + - match: {hits.sequences.1.events.1.fields.day_of_week: ["Wednesday"]} |
| 220 | + |
| 221 | +--- |
| 222 | +"Execute EQL sequence with filter_path": |
| 223 | + - do: |
| 224 | + eql.search: |
| 225 | + index: eql_test |
| 226 | + filter_path: "hits.sequences.join_keys,hits.sequences.events.fields.valid" |
| 227 | + body: |
| 228 | + query: 'sequence by user [process where user == "SYSTEM"] [process where true]' |
| 229 | + fields: ["id","valid"] |
| 230 | + - match: {hits.sequences.0.join_keys.0: "SYSTEM"} |
| 231 | + - match: {hits.sequences.0.events.0.fields.valid: [false]} |
| 232 | + - match: {hits.sequences.0.events.1.fields.valid: [true]} |
| 233 | + - match: {hits.sequences.1.join_keys.0: "SYSTEM"} |
| 234 | + - match: {hits.sequences.1.events.0.fields.valid: [true]} |
| 235 | + - match: {hits.sequences.1.events.1.fields.valid: [true]} |
| 236 | + |
127 | 237 | ---
|
128 | 238 | "Execute some EQL in async mode.":
|
129 | 239 | - do:
|
|
0 commit comments