Splunk Search

How to create unique field names from two data sources that share a common field name?

pkeller
Contributor

I have two data sources, each with a field named foo.
Each data source has a different sourcetype, so I'd like to do something like this:

(sourcetype=STa) OR (sourcetype=STb) | ...

if sourcetype is STa, I'd like to rename foo to fooA
if sourcetype is STb, I'd like to rename foo to fooB

Using eval fooA = coalesce(foo,NULL) works, but I'm not sure how to make it conditional so that it only acts on events with the STa sourcetype.

Thank you

0 Karma
1 Solution

javiergn
Super Champion

You can use the following technique:

eval fooA = if(sourcetype == "STa", foo, "")

And the same for fooB

View solution in original post

0 Karma

somesoni2
Revered Legend

IMO, the coalesce approach is what's needed here. It'll run for each event (for both sourcetypes) but so as any rename command.

0 Karma

pkeller
Contributor

I'd considered that, but wasn't quite sure how to place the coalesce into an "if" block

0 Karma

javiergn
Super Champion

You can use the following technique:

eval fooA = if(sourcetype == "STa", foo, "")

And the same for fooB

0 Karma

pkeller
Contributor

Thank you very much.

0 Karma
Get Updates on the Splunk Community!

[Puzzles] Solve, Learn, Repeat: Dynamic formatting from XML events

This challenge was first posted on Slack #puzzles channelFor a previous puzzle, I needed a set of fixed-length ...

Enter the Agentic Era with Splunk AI Assistant for SPL 1.4

  🚀 Your data just got a serious AI upgrade — are you ready? Say hello to the Agentic Era with the ...

Stronger Security with Federated Search for S3, GCP SQL & Australian Threat ...

Splunk Lantern is a Splunk customer success center that provides advice from Splunk experts on valuable data ...