I have journal entries that look like this ...
2014-02-25 00:00:03,936 INFO - something happened...bla bla bla
2014-02-25 00:00:03,952 INFO - ***Request Completed*** [ 78.002] mS [http://cloud.mydomain.local/schedule/search?param=45]
2014-02-25 00:00:04,233 INFO - something else happened...bla bla bla
I have a grok filter that parses strings correctly ...
grok {
match => [ "message", "%{TIMESTAMP_ISO8601:logdate} %{WORD:severity}%{SPACE}- %{GREEDYDATA:body}" ]
}
I would like to analyze additional data from the "body" if the "body" begins with "*** Request Completed ***". Namely, "elaspsedms" and "uri". How can i do this?
Elsewhere, it was suggested to add another entry to the grok filter, similar to this ...
grok {
match => [
"message", "%{TIMESTAMP_ISO8601:logdate} %{WORD:severity}%{SPACE}- \*\*\*Request Completed\*\*\* \[%{SPACE}%{NUMBER:elaspedms}\] mS \[%{URI:uri}\]",
"message", "%{TIMESTAMP_ISO8601:logdate} %{WORD:severity}%{SPACE}- %{GREEDYDATA:body}"
]
}
... , "body" NOT. , , iff, , elapsedms uri.
, ?
? , "" elapsedms/uri, , . grok?
?
: , , "" , "elaspedms" "uri", "elaspedms"?