Splunk Search

Extreme rex help

ddefer
New Member

I am comfortable with the rex command when straightforward text strings are involved.

I've got something that is decidedly NOT a straightforward text string.  It is a substring in a larger log entry (not shown) and looks like this:

RESULTVECTOR="{2106177} EMAAC02:0(16)/EMACC65:0(68)/BPOSTK01:0(476[11+436+11])/BPOSCC01:0(2072)/BPOSTK01:0(629[15+590+9])/BPOSCC02:0(867)/EMACC28:0(42)/BPOSRT01:0(101)/EMACC65:0(129)/BPOSRT10:0(2063152[15+2063087+31])/EMACC65:0(30)/EMAAC10:0(37884[13+37829+25])/EMACC51:0(23)

The first part identifies complex substring part (RESULTVECTOR) and the overall response time for a transactions.   The rest is a set of sorta-name-value-pairs (delimited by "/") that tell me a <sub-process name>:<sub-process response code>(<sub-process response time>)[<optional set of sub-sub-process response times of arbitrary length, delimited by "+">] 

I want to recursively process this string to, at a minimum, the total response time and a set of details for each sub-process (I am willing to ignore the sub-sub-process data for now).

I can't get past the first sub-process.  My attempt at rex so far is:

rex field=_raw max_match=100 " RESULTVECTOR=\"{(?<TOTAL_RESP>.*)} (?<A_PROC>\w+):(?<A_RC>\d+)\((?<A_RESP>\d+).*"

Is it even possible to capture the data I need using rex? 

 

Labels (4)
Tags (1)
0 Karma

ITWhisperer
SplunkTrust
SplunkTrust

If you split it into two rex you could do this

| rex " RESULTVECTOR=\"{(?<TOTAL_RESP>.*)} (?<responses>.*)"
| rex max_match=0 field=responses "(?<A_PROC>\w+):(?<A_RC>\d+)\((?<A_RESP>\d+)(?<subsub>\[[\d\+]+\])?"
0 Karma
Get Updates on the Splunk Community!

AI for AppInspect

We’re excited to announce two new updates to AppInspect designed to save you time and make the app approval ...

App Platform's 2025 Year in Review: A Year of Innovation, Growth, and Community

As we step into 2026, it’s the perfect moment to reflect on what an extraordinary year 2025 was for the Splunk ...

Operationalizing Entity Risk Score with Enterprise Security 8.3+

Overview Enterprise Security 8.3 introduces a powerful new feature called “Entity Risk Scoring” (ERS) for ...