Splunk Search

Join on this field OR that field

bcyates
Communicator

Basically I am trying to find hosts on a csv, not sending data to splunk.

The problem is, we have to account for devices that come over with either the short name, FQDN, or the IP as the host value in Splunk.

So essentially, I would like to join on the field host OR the field IP

I have this search:

| inputlookup cmdb_assets.csv
| rename nt_host AS host
| rex field=host mode=sed "s/.\d+|.\w+.\w+$//" | eval host=lower(host)
| join type=left ip host
[ metadata type=hosts | rex field=host mode=sed "s/.\d+|.\w+.\w+$//" | eval host=lower(host) | rex field=host "(?\d+.\d+.\d+.\d+)"]
|where isnull(recentTime)
| fields host dns category city bunit owner recentTime ip

But it is joining on ip AND host and does not accomplish the goal. Basically, I need Splunk to try and match on either the host field or the ip field

Anyone have any ideas?

0 Karma

osakachan
Communicator

What if you convert fields host and IP to one field? For example, if you priorize hostname(FDQN) over IP.

| eval newfield=if(host!="null", hostname, IP)

If you do not have values you can use | fillnull value= to control for example. That way you only need to check 1 field vs 1 field.

0 Karma

kmaron
Motivator

have you tried doing 2 joins? one on IP and one on host?

0 Karma
Get Updates on the Splunk Community!

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 ...

Splunk Observability for AI

Don’t miss out on an exciting Tech Talk on Splunk Observability for AI!Discover how Splunk’s agentic AI ...

🔐 Trust at Every Hop: How mTLS in Splunk Enterprise 10.0 Makes Security Simpler

From Idea to Implementation: Why Splunk Built mTLS into Splunk Enterprise 10.0  mTLS wasn’t just a checkbox ...