Splunk Search

How to write a query to have count of time where time is greater than 20s hits of one field "Time " against total time hits "Time" ,to create alert .

guru865
Path Finder

here is a search i'm using for one alert.

sourcetype=xx  source="*yy"   method=*  timeDiff|    eval Time=ltrim(rtrim(timeDiff,"S"),"PT") | stats count(Time) as Total_Hits | search Time>20

The above search fulfills the alert request to get the total hits where time is greater than 20 s.

I would like to have the count of total hits on whole and greater than 20 s hits and would like to trigger the alert .

Thanks

0 Karma
1 Solution

somesoni2
Revered Legend

How about this. This alert query will return result (so you can alert when 'number of events greater than zero') when there are events with Time>20.

sourcetype=xx  source="*yy"   method=*  timeDiff
| eval Time=ltrim(rtrim(timeDiff,"S"),"PT") 
| stats count as Total_Hits count(eval(Time>20)) as AlertField
| where AlertField>0
| rename AlertField as "Hits_With_Time>20"

View solution in original post

woodcock
Esteemed Legend

Like this:

sourcetype=xx  source="*yy"   method=*  timeDiff |  eval Time=ltrim(rtrim(timeDiff,"S"),"PT")
| stats count(eval(Time>20)) AS Time20Plus | search Time20Plus>20
0 Karma

somesoni2
Revered Legend

How about this. This alert query will return result (so you can alert when 'number of events greater than zero') when there are events with Time>20.

sourcetype=xx  source="*yy"   method=*  timeDiff
| eval Time=ltrim(rtrim(timeDiff,"S"),"PT") 
| stats count as Total_Hits count(eval(Time>20)) as AlertField
| where AlertField>0
| rename AlertField as "Hits_With_Time>20"

guru865
Path Finder

Thanks alot somesoni2.

0 Karma

DalJeanis
Legend

At the very least, you need to test against the name of the field that you just created, because after the stats command, the field Time no longer exists.

 | stats count(Time) as Total_Hits | search Total_Hits>20

more likely, you want

| stats count(eval(Time>20)) as Hits20 count as HitsTotal

Here's some test code you can play with -

|makeresults | eval Time="20 45 1 4 13 25 71 819 12" | makemv Time |mvexpand Time 
| stats count(eval(Time>20)) as Hits20 count as HitsTotal
0 Karma
Get Updates on the Splunk Community!

Demo Day: Strengthen Your SOC with Splunk Enterprise Security 8.1

Today’s threat landscape is more complex than ever. Security operation centers (SOCs) are overwhelmed with ...

Dashboards: Hiding charts while search is being executed and other uses for tokens

There are a couple of features of SimpleXML / Classic dashboards that can be used to enhance the user ...

Splunk Observability Cloud's AI Assistant in Action Series: Explaining Metrics and ...

This is the fourth post in the Splunk Observability Cloud’s AI Assistant in Action series that digs into how ...