I need to extract the first numeric value from this log line:
Summary for local -------------- Succeeded: 515 (changed=142) Failed: 0 -------------- Total: (etc.)
so this is my grok filter:
grok {
match => { "message" => "\ASummary for local -------------- Succeeded: %{NUMBER:succeeded} %{GREEDYDATA:foo}" }
}
The filter works perfectly in Grokconstructor - Test grok patterns but it returns a _grokparsefailure
when run in my ELK stack.
Why is that?
The source is a file ingested via Filebeat configured with multiline.
In general, I've found the grok plugin to be very fragile -- about 80% of the time it throws an error. I suspect it has issues correctly ingesting a message. For this reason I either use dissect, or mutate with gsub. Does anyone else have the same experience?