Splunk Search

Help with regex to extract a string?

Pramodkuber
Engager

Need to fetch API name from URL.
e.g. base_url/products_support/system_name/api-name?parameters

Here I need to fetch "system_name/api-name" string between "product_support" and "?".

Any inputs which regex needs to use here?

0 Karma

woodcock
Esteemed Legend

Like this:

| rex field=YourFieldHere "(?<base_url>[^\/?]+)\/(?<producst_support>[^\/?]+)\/(?<system_name>[^\/?]+)\/(?<api_name>[^\/?]+)?(?<parameters>.*)$"

Pramodkuber
Engager

Thanks a lot for your inputs. This is really very helpful. But I have few URLs where parameters are coming in path instead of queryparams.
How to take care of that? any idea?

e.g.
v2/customers/{customerID}/tickets
v2/customers/123456/tickets
v2/customers/987654/tickets

When I use "| stats values(api_name)" I am getting very big list as customer ID are different. I am looking result for 2/customers//tickets
"
" should take care of all dynamic values for customer Ids and " stats values(api_name)" sjoul return only one row for "v2/customers/*/tickets"

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!

Deep Dive: Accelerate threat investigation with Splunk’s AI Assistant in Security

AI is one of the biggest topics in the market today, and for security teams, its value goes far beyond the ...

Announcing Modern Navigation: A New Era of Splunk User Experience

We are excited to introduce the Modern Navigation feature in the Splunk Platform, available to both cloud and ...

Detection Engineering Office Hours: Real-World Troubleshooting & Q&A

[REGISTER HERE] This thread is for the Community Office Hours session on Detection Engineering Office Hours: ...