Splunk Search

ddl bind with rex

Jasmine
Path Finder

In the below query if c= I,  the reg expression is | rex field=attr.namespace "(?<DB>[^\.]*)"
if c= other than "I" then rex would be | rex field=attr.ns "(?<DB>[^\.]*)"

 

index="aaa" (source="/test/log/testing.log")  host IN(host1) c=N
          | rex field=attr.ns "(?<DB>[^\.]*)"
   	 | table  DB| dedup DB

 how can i adjust the query?

Labels (1)
0 Karma
1 Solution

tscroggins
Influencer

Hi @Jasmine,

You can assign the field value to a temporary field first, and then use the rex command to extract the value you want:

index="aaa" (source="/test/log/testing.log") host IN (host1) c=*
| eval DB=if(c=="I", 'attr.namespace', 'attr.ns')
| rex field=DB "(?<DB>[^\.]*)"
| table DB
| dedup DB

View solution in original post

tscroggins
Influencer

Hi @Jasmine,

You can assign the field value to a temporary field first, and then use the rex command to extract the value you want:

index="aaa" (source="/test/log/testing.log") host IN (host1) c=*
| eval DB=if(c=="I", 'attr.namespace', 'attr.ns')
| rex field=DB "(?<DB>[^\.]*)"
| table DB
| dedup DB
Get Updates on the Splunk Community!

Automatic Discovery Part 1: What is Automatic Discovery in Splunk Observability Cloud ...

If you’ve ever deployed a new database cluster, spun up a caching layer, or added a load balancer, you know it ...

Real-Time Fraud Detection: How Splunk Dashboards Protect Financial Institutions

Financial fraud isn't slowing down. If anything, it's getting more sophisticated. Account takeovers, credit ...

Splunk + ThousandEyes: Correlate frontend, app, and network data to troubleshoot ...

 Are you tired of troubleshooting delays caused by siloed frontend, application, and network data? We've got a ...