Splunk Search

Search for multiple values in field

banzen
Engager

Hi,
I am trying to omit search results for a field that might have a couple of different values.
any ideas how to best do this? Is EVAL or LIKE the way to go?

Here's some sample data:
computerdisconnected="[bob sbr] [tube tue]"
computerdisconnected="[tube tue]"

condition-
If the computerdisconnected contains any values like "bob or "Tube" then don't return any results.

In other words I am getting regular reminders that these machines are disconnected, I only want NEW results so I want to keep a list of repeat offenders and ignore them.

Thanks in advance

Tags (1)
0 Karma
1 Solution

elliotproebstel
Champion

Do all the potential values for computerdisconnected get formatted like that? If so, this might work:

your base search NOT "[bob*" OR "[tube*"

So that's literally whatever you're searching for right now followed immediately by NOT "[bob*" OR "[tube*". The opening square brackets matter, I believe.

View solution in original post

elliotproebstel
Champion

Do all the potential values for computerdisconnected get formatted like that? If so, this might work:

your base search NOT "[bob*" OR "[tube*"

So that's literally whatever you're searching for right now followed immediately by NOT "[bob*" OR "[tube*". The opening square brackets matter, I believe.

banzen
Engager

And if my list continues to grow, just keep adding OR statements? OR " " OR "" OR "" ? I can do do this, just thought there was a cleaner way, like anything
LIKE or IN ("bob*,"tube*", "next*")

0 Karma

elliotproebstel
Champion

If your list is going to grow, you'd be very smart to follow @niketnilay's advice and set up a lookup table. His search structure will handle the formatting, too.

0 Karma

niketn
Legend

Agree with @elliotproebstel and to add on I would move such patterns to lookup file

<YourBaseSearch> NOT
    [| inputookup <yourLookupFileName>.csv 
     | eval <yourLookupFiledName>="*".<yourLookupFiledName>."*"
    | rename <yourLookupFiledName> as search]
| <yourRemainingSearch>

Following is a sample search based on the data that you have provided (PS: makeresults used instead of inputlookup to mock up the terms to be filtered from search.

<YourBaseSearch> NOT
    [| makeresults
    | eval lookupData="bob,tube"
    | makemv lookupData delim=","
    | mvexpand lookupData
    | eval lookupData="*".lookupData."*"
    | rename lookupData as search]
| <yourRemainingSearch>
____________________________________________
| makeresults | eval message= "Happy Splunking!!!"
Get Updates on the Splunk Community!

Insights from .conf 2025, Smart Edge Processor Scaling, and a New Splunk Lantern ...

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

Machine Learning - Assisted Adaptive Thresholding

Let’s talk thresholding. Have you set up static thresholds? Tired of static thresholds triggering false ...

Observability Unlocked: Kubernetes Monitoring with Splunk Observability Cloud

  Ready to master Kubernetes and cloud monitoring like the pros?Join Splunk’s Growth Engineering team for an ...