I am pretty new to Splunk and finding a way to figure out below:
My incoming logs have a field message
which contains String formatted value. e.g.
message="OVERALL_RESPONSE_TIME=43ms"
message="Correlation_id=123123hewgadkksksk"
Now I want to filter out messages which don't contain OVERALL_RESPONSE_TIME as a String and also extract OVERALL_RESPONSE_TIME as a field. I am looking for a single Eval expression to do so.
TIA
I'm not sure one can do that with a single eval
. Try this query. The regex
command filters out events that don't contain OVERALL_RESPONSE_TIME and the rex
command extracts OVERALL_RESPONSE_TIME as a field.
... | regex message!="OVERALL_RESPONSE_TIME=\d+ms" | rex field=message "OVERALL_RESPONSE_TIME=(?<responseTime>\d+)" | ...