Getting Data In

Splunkism Regex?

cdstealer
Contributor

When using PCRE regex to split a field into components, I find it frustrating.  I know my regex works as I've validated this in both regex101 and debuggex.

debuggex.jpgdebuggex.jpg

 

(?:.*?)(?P<ClientIP>(?:\d{1,3}\.){3}\d{1,3}|(?:(?:[0-9a-f]{1,4}(?::+)?){0,7}:+[0-9a-f]+))[,\n\r]+(?:(?:[\+](?P<LB_IP>[^:](?:\d{1,3}\.){3}\d{1,3}):(?P<LB_Port>\d+)))?

 

So this is extracting details from the IIS X_Forwarded_For field.  The supplied log data that was parsed extracted perfectly on both platforms and even using "grep -P".  But in Splunk, I only get a full extraction when the following format is observed.

123.123.123.123,+123.123.123.123,+123.123.123.123:12345

If  the final ip:port is missing from the event, only the first IP is captured

123.123.123.123,+123.123.123.123

I've had similar experiences over the years with Splunk, so I'm wondering if my regex fu is rubbish, regex validators are wrong or splunk has a bug that's never been fixed.

TIA

Steve

Labels (1)
Tags (2)
0 Karma

richgalloway
SplunkTrust
SplunkTrust

If you posted the regex as text rather than an image then we could test it ourselves to better help you.

Where did you define the regex in Splunk (props.conf, transforms.conf, Add Data Wizard, etc.)?

---
If this reply helps you, Karma would be appreciated.
0 Karma

cdstealer
Contributor

Hi Richard,  The regex is defined in transforms and called by props.

Apologies, that would be useful 🙂 Added to the top

0 Karma

richgalloway
SplunkTrust
SplunkTrust

In Splunk, the default behavior is to keep only the first match.  To accept multiple matches, use the REPEAT_MATCH or MV_ADD settings.

---
If this reply helps you, Karma would be appreciated.
0 Karma

ITWhisperer
SplunkTrust
SplunkTrust

Which version of splunk are you using as this may be a factor too?

0 Karma

cdstealer
Contributor

We're running 8.1.3 currently.

0 Karma
Got questions? Get answers!

Join the Splunk Community Slack to learn, troubleshoot, and make connections with fellow Splunk practitioners in real time!

Meet up IRL or virtually!

Join Splunk User Groups to connect and learn in-person by region or remotely by topic or industry.

Get Updates on the Splunk Community!

Turn Cisco Telemetry Into Action with Cisco Data Fabric, powered by the Splunk ...

The surge in machine data is already hitting enterprise budgets, and the agentic era will only intensify it. ...

Persistent Queue at TcpOut — One of Splunk's Most Practical Features

Splunk introduced persistent queueing at the tcpout layer as one of the most practical resilience features in ...

Skip the Awkward Silence: Have a .conf-ersation at .conf26

Picture this. You arrive at .conf26 already having your socializing and networking plans mapped out. No ...