Splunk Search

Comparing the results in different time range?

smanojkumar
Contributor

Hi Splunkers!

   Good day!

   I need a search which extracts the count of serial_number of different time range and i should calculate the difference, if its greater than 5000, it should trigger an alert,

 

index="inventory" origin="Inventory:ITSM" earliest=-6h latest=now()
| fields serial_number
| stats count(serial_number) as total_assets
| search [ search index="inventory" origin="Inventory:ITSM" earliest=-12h latest=-6h
| fields serial_number
| stats count(serial_number) as total_assets_prev]
| eval diff=total_assets_prev-total_assets
| where diff>5000
| eval message="Hello Team, the assets in ITSM origin is less than 65000 and its actual value is "
| table message, total_assets_prev, total_assets

 

This query is not working.

 

Thanks in advance!

Manoj Kumar S

 

Labels (1)
0 Karma

isoutamo
SplunkTrust
SplunkTrust

Hi

You could use relative_time function to divide your events like this

index="inventory" origin="Inventory:ITSM" earliest=-12h latest=now()
| eval period = if (_time < relative_time(now(),"-6h"), "previous", "current")
| stats count(search_id) as total_si by period
| eval {period}=total_si
| fields current previous
| stats sum(*) as *
| eval diff = previous - current
| where diff > 5000
| eval message="Hello Team, the assets in ITSM origin is less than 65000 and its actual value is "
| table message, previous current

There are also other ways to do it.

r. Ismo 

0 Karma

ITWhisperer
SplunkTrust
SplunkTrust
index="inventory" origin="Inventory:ITSM" earliest=-12h latest=now()
| fields serial_number
| stats count(eval(_time<relative_time(now(),"-6h"))) as total_assets_prev count(eval(_time>relative_time(now(),"-6h"))) as total_assets
| eval diff=total_assets_prev-total_assets
| where diff>5000
| eval message="Hello Team, the assets in ITSM origin is less than 65000 and its actual value is "
| table message, total_assets_prev, total_assets
0 Karma

smanojkumar
Contributor

Hi @ITWhisperer ,

   Thanks for your response!

    I'm getting total_assets_prev as 0,

    (My requirement is calculate the count of serial_number of time range -12 hr to -6hr and count of serial_number for the time range -6hr to now and calculate the difference)

Thanks in advance!

Manoj Kumar S

0 Karma

ITWhisperer
SplunkTrust
SplunkTrust

 

Remove this line

| fields serial_number

 

0 Karma
Get Updates on the Splunk Community!

Fastest way to demo Observability

I’ve been having a lot of fun learning about Kubernetes and Observability. I set myself an interesting ...

September Community Champions: A Shoutout to Our Contributors!

As we close the books on another fantastic month, we want to take a moment to celebrate the people who are the ...

Splunk Decoded: Service Maps vs Service Analyzer Tree View vs Flow Maps

It’s Monday morning, and your phone is buzzing with alert escalations – your customer-facing portal is running ...