Heres my attempt at parser extension:
filter {mutate {
replace => {
"principal.user.user_display_name" => "UNKNOWN"
}
}
grok {
match => { "message" => ["ruser=(?<user>[^ ]+)","user (?<user>[^:]+)"] }
overwrite => ["principal.user.user_display_name"]
on_error=> "User update failed"
}
statedump {}
mutate {merge => {"@output" => "event"}}
}
I get the following error
generic::unknown: pipeline.ParseLogEntry failed: LOG_PARSING_CBN_ERROR: "generic::invalid_argument: pipeline failed: filter mutate (3) failed: merge failure: merge source field \\"event\\" must not be empty (try using replace to provide the value before calling merge)"
Can someone help me understand whats wrong? A sample log entry would be as follows:
<85>Nov 4 12:07:00 system-name sudo[2700721]: pam_sss(sudo:auth): authentication failure; logname=johnf uid=5354 euid=0 tty=/dev/pts/1 ruser=johnf rhost= user=johnf