Logs to Events Pipeline Examples
Detecting a pattern and extracting data
login failed for user <username>, attempt number <number>vector:
eventsPipelines:
multiple_login_failures:
inputs:
- logs_from_logs
- json_logs
extraSteps:
- name: multiple_login_failures_filter
transform:
type: filter
condition: |
.container_name == "loginservice" && contains(string!(.content), "login failed for user")
- name: multiple_login_failures_extract
transform:
type: "remap"
source: |
regex_result = parse_regex!(string!(.content), r'login failed for user (?P<username>.*) attempt number (?P<attempt_number>[0-9.]+)')
if to_int!(regex_result.attempt_number) < 5 {
abort
}
.float_attributes = object!(.float_attributes)
.float_attributes.attempt_number = to_int!(regex_result.attempt_number)
.string_attributes = object!(.string_attributes)
.string_attributes.username = regex_result.usernameLast updated
