Splunk Search

combine results from OR on each result

ntshane
Engager

Sorry for the weird title, but I couldn't figure out how else to reword it.

I have the following example data from a phone system:

CalledParty CallingParty Minutes

10300..............5105551212......... 5

5105555555 ... 10300..................8

10300................44444................. 9

10301............... 5105558888........1

etc......
I want to search based on a wildcard (eg. everything starting with 10*) by either CalledParty or CallingParty field. But I want to end up with the result:

Extension MinutesTotal

10300............ 22

10301..............1

Basically combining the counts from the Calling and Called as Extension.

However, I have only been able to put something together that produces this:

10300............... 5105551212....14

5105555555......10300................8

10301.................5105558888.....1

Sorry for the formatting, hopefully this makes some sense. Is there any way to combine these in this way? Thanks in advance.
-shane

Tags (1)
0 Karma
1 Solution

bmacias84
Champion

I am not sure how much you know about Lookup Tables, but this might be a good case. I am also not sure if your fields are from muliple sources or one.

Here is a search that use a case statement and will add minutes by extention and display by hour.


...| bucket _time span=1h |eval Extension=case(isnotnull(CalledParty),CalledParty,isnotnull(CallingParty),CallingParty)|stats sum(Minutes) as TotalMinutes by Extension

This should give you some ideas. Below is some additional reading. Cheers

enriching-data-with-lookups-part-1/

CreateAndConfigureFieldLookups

lookup

View solution in original post

bmacias84
Champion

I am not sure how much you know about Lookup Tables, but this might be a good case. I am also not sure if your fields are from muliple sources or one.

Here is a search that use a case statement and will add minutes by extention and display by hour.


...| bucket _time span=1h |eval Extension=case(isnotnull(CalledParty),CalledParty,isnotnull(CallingParty),CallingParty)|stats sum(Minutes) as TotalMinutes by Extension

This should give you some ideas. Below is some additional reading. Cheers

enriching-data-with-lookups-part-1/

CreateAndConfigureFieldLookups

lookup

sowings
Splunk Employee
Splunk Employee

As an addition to this answer, you could start your search with a macro to pass your single wildcard to either field:

[minutes_matching_extension(1)]
args = extension
definition = CalledParty="$extension$" OR CallingParty="$extension$" | bucket _time span=1h | eval Extension=case(isnotnull(CalledParty),CalledParty,isnotnull(CallingParty),CallingParty)|stats sum(Minutes) as TotalMinutes by Extension

Then call it like minutes_matching_extension(103*)

0 Karma
Career Survey
First 500 qualified respondents will receive a $20 gift card! Tell us about your professional Splunk journey.
Get Updates on the Splunk Community!

Tech Talk Recap | Mastering Threat Hunting

Mastering Threat HuntingDive into the world of threat hunting, exploring the key differences between ...

Observability for AI Applications: Troubleshooting Latency

If you’re working with proprietary company data, you’re probably going to have a locally hosted LLM or many ...

Splunk AI Assistant for SPL vs. ChatGPT: Which One is Better?

In the age of AI, every tool promises to make our lives easier. From summarizing content to writing code, ...