Splunk Search

How to use aggregates to filter data and join the result to another search?

cjoelly
Loves-to-Learn

Hello,

I have an index with events, where events belong to a transaction (transaction_id). I am interested in transactions which contain exact two event with specific eventtype (type1 and type2).

When I have all the transaction(_ids) which contain those two eventtypes, I want to join to the events again to get those complete transactions, including all their events.

There might be events with other eventtypes as well which need to be retrieved.

This is what I tried:

 

index="data" 
| stats values(eventtype) as eventtype by transaction_id
| search eventtype="TYPE1" AND eventtype="TYPE2" 
| table transaction_id
| join type=inner transaction_id[search index="data"]
| table *

 

But this query returns only a fraction of the available matching transactions.

I read some other posts with all kind of approaches, is it really so hard in Splunk to get such tasks done?

Labels (2)
0 Karma

richgalloway
SplunkTrust
SplunkTrust

I wonder if an outer join might have worked, but join is rarely the best answer because it performs poorly.

One other approach is to use a subsearch to find the interesting transaction IDs and then search for those IDs.

index="data" [search index="data" 
  | stats values(eventtype) as eventtype by transaction_id
  | search eventtype="TYPE1" AND eventtype="TYPE2" 
  | fields transaction_id
  | format ]
| table *

 

---
If this reply helps you, Karma would be appreciated.
0 Karma
Get Updates on the Splunk Community!

Shape the Future of Splunk: Join the Product Research Lab!

Join the Splunk Product Research Lab and connect with us in the Slack channel #product-research-lab to get ...

Auto-Injector for Everything Else: Making OpenTelemetry Truly Universal

You might have seen Splunk’s recent announcement about donating the OpenTelemetry Injector to the ...

[Puzzles] Solve, Learn, Repeat: Character substitutions with Regular Expressions

This challenge was first posted on Slack #puzzles channelFor BORE at .conf23, we had a puzzle question which ...