Splunk Search

Why IQR shows me only 10,000 results ?

zacksoft
Contributor

I'm trying to find outlier using IQR method suggested by Splunk. I wonder why the statistics only shows 10,000 results !
https://docs.splunk.com/Documentation/Splunk/6.5.0/Search/Findingandremovingoutliers

Tags (1)
1 Solution

cmerriman
Super Champion

are you using the sort command? sort automatically truncates results. try |sort 0 -<fieldname>
http://docs.splunk.com/Documentation/Splunk/6.5.0/SearchReference/Sort

View solution in original post

mayurr98
Super Champion

can you share your search query?

0 Karma

zacksoft
Contributor

| eval _time=(round(strptime(time, "%Y-%m-%d %H:%M:%SZ")))
| eventstats median("Run_Time") as median p25("Run_Time") as p25 p75("Run_Time") as p75
| eval IQR=(p75-p25)
| eval lowerBound=(median-IQR)
| eval upperBound=(median+IQR*20)
| eval isOutlier=if('Run_Time' < lowerBound OR 'Run_Time' > upperBound, 1, 0)
| fields "_time", "symbol", "sourcetype", "time", "Run_Time", "lowerBound", "upperBound", "isOutlier"
| table _time, symbol, sourcetype, time, Run_Time, lowerBound, upperBound, isOutlier
| sort -isOutlier

0 Karma

cmerriman
Super Champion

are you using the sort command? sort automatically truncates results. try |sort 0 -<fieldname>
http://docs.splunk.com/Documentation/Splunk/6.5.0/SearchReference/Sort

zacksoft
Contributor

Adding |sort 0 - helped. But in statistics tab it still shows as 10,000 entries.
Is this something to do with IQR approach ?

While I attempted the "lower and upper boundaries of an acceptable range to identify outliers" , there also it was 10,000 values !!!

0 Karma

cmerriman
Super Champion

can you share your search?

0 Karma

zacksoft
Contributor

This is using IQR.

| eval _time=(round(strptime(time, "%Y-%m-%d %H:%M:%SZ")))
| eventstats median("Run_Time") as median p25("Run_Time") as p25 p75("Run_Time") as p75
| eval IQR=(p75-p25)
| eval lowerBound=(median-IQR)
| eval upperBound=(median+IQR*20)
| eval isOutlier=if('Run_Time' < lowerBound OR 'Run_Time' > upperBound, 1, 0)
| fields "_time", "symbol", "sourcetype", "time", "Run_Time", "lowerBound", "upperBound", "isOutlier"
| table _time, symbol, sourcetype, time, Run_Time, lowerBound, upperBound, isOutlier
| sort -isOutlier

0 Karma

cmerriman
Super Champion

you're going to need | sort 0 -isOutlier on the end to remove the 10,000 limit. the rest of it shouldn't matter. you also don't need both fields and table, you can just use one or the other.

0 Karma

zacksoft
Contributor

Thank you @cmerriman

0 Karma
Get Updates on the Splunk Community!

Detecting Remote Code Executions With the Splunk Threat Research Team

REGISTER NOWRemote code execution (RCE) vulnerabilities pose a significant risk to organizations. If ...

Observability | Use Synthetic Monitoring for Website Metadata Verification

If you are on Splunk Observability Cloud, you may already have Synthetic Monitoringin your observability ...

More Ways To Control Your Costs With Archived Metrics | Register for Tech Talk

Tuesday, May 14, 2024  |  11AM PT / 2PM ET Register to Attend Join us for this Tech Talk and learn how to ...