Splunk Search

How to join fields that have different values

gravi
Explorer

I need to join two searches that do not have a common fields.

First search has a field FileName=Test.json
Second search has field FileName=Test.json.pgp

How do I join the two searches?

Thanks

0 Karma

gcusello
SplunkTrust
SplunkTrust

HJi @gravi,
if there's a rule in the values of filename in the second search (e.g. take all but extension), you could use regex to extract them, something like this:

index=index_A
| join FileName [ search index=index_B | rex field=FileName "(?<FileName>.*)\.\w+$" ]
| ...

Ciao.
Giuseppe

0 Karma

woodcock
Esteemed Legend

Like this:

(index="indexA" AND sourcetype="sourcetypeA" AND FileName=Test.json)
(index="indexB" AND sourcetype="sourcetypeB" AND FileName=Test.json.pgp)
| rex field=FileName mode=sed "s/\.pgp$//"
| stats values(*) AS * BY FileName
0 Karma

edgarsilva01
Path Finder

Hi Gravi

Once I had a similar scenario, the first thing that worked for me was evaluated that both fields had the same type of data is "Strings"
After validating that, perform the inner join command to make the cross and compare the data.

Regards

0 Karma

yannK
Splunk Employee
Splunk Employee

what about an OR condition ?

  FileName=Test.json OR FileName=Test.json.pgp

Or if you have 2 searches and try to JOIN them, normalize the fields name or content, then use a join

 search1withoutpgp | eval FileName=FileName.".pgp" | join FileName [ search search2withpgp  |  table myotherfield FileName]  
Get Updates on the Splunk Community!

Introducing Splunk Enterprise 9.2

WATCH HERE! Watch this Tech Talk to learn about the latest features and enhancements shipped in the new Splunk ...

Adoption of RUM and APM at Splunk

    Unleash the power of Splunk Observability   Watch Now In this can't miss Tech Talk! The Splunk Growth ...

Routing logs with Splunk OTel Collector for Kubernetes

The Splunk Distribution of the OpenTelemetry (OTel) Collector is a product that provides a way to ingest ...