All Apps and Add-ons

how to write a dynamic thresholds function in the Splunk search with eval

rajupasula
New Member

My requirement is I have to write a search query with eval function which should set the CPU threshold value dynamically

Ex: cpu usage >50 it should return value with "CPU usage is normal".
cpu usage <50 & >75 it should return value "CPU usage is warning".
cpu usage <75 it should return value "CPU usage is warning".

I have tried with case(...). but I want below query in any custom function

index="my_index" source="data.csv"
| eval Threshold=case(cpuusage<=50, "CPU usage is normal", cpuusage>50 AND cpuusage<=75, "CPU usage is warning ", cpuusage>75,"Critical") | table cpuusage Threshold by traceid

please do help me on this

0 Karma

gcusello
SplunkTrust
SplunkTrust

Hi rajupasula,
what do you want a table or a stat?
if a table try with:

index="my_index" source="data.csv"
| eval Threshold=case(cpuusage<51,"CPU usage is normal", cpuusage<76,"CPU usage is warning",cpuusage>75,"Critical") 
| table cpuusage Threshold 

if you want a stat, try with:

index="my_index" source="data.csv"
| eval Threshold=case(cpuusage<51,"CPU usage is normal", cpuusage<76,"CPU usage is warning",cpuusage>75,"Critical") 
| stats count BY Threshold 

Bye.
Giuseppe

0 Karma
Get Updates on the Splunk Community!

Stay Connected: Your Guide to May Tech Talks, Office Hours, and Webinars!

Take a look below to explore our upcoming Community Office Hours, Tech Talks, and Webinars this month. This ...

They're back! Join the SplunkTrust and MVP at .conf24

With our highly anticipated annual conference, .conf, comes the fez-wearers you can trust! The SplunkTrust, as ...

Enterprise Security Content Update (ESCU) | New Releases

Last month, the Splunk Threat Research Team had two releases of new security content via the Enterprise ...