Splunk Search

Find difference between time now and last event time

JoshuaJohn
Contributor

I am not sure why I am not getting results with this query, any suggestions?

index= ______
| stats max(_time) as last_event
| eval timenow=strftime(now(), "%Y-%m-%d %H:%M:%S.%3N")
| eval last_event=strftime('last_event', "%Y-%m-%d %H:%M:%S.%3N")
| eval diff = tostring((timenow - last_event), "duration")
| table diff

1 Solution

somesoni2
Revered Legend

First problem with this query was that you're trying to arithmetic operation of string fields (strftime give string formatted date). You need timestamps in epoch format and format it later if needed. Second thing, not problem but big scope of optimization is to use tstats command instead of regular search. So give this a try

| tstats max(_time) as last_event WHERE index=.......
| eval diff=tostring(now()-last_event,"duration") | table diff

View solution in original post

somesoni2
Revered Legend

First problem with this query was that you're trying to arithmetic operation of string fields (strftime give string formatted date). You need timestamps in epoch format and format it later if needed. Second thing, not problem but big scope of optimization is to use tstats command instead of regular search. So give this a try

| tstats max(_time) as last_event WHERE index=.......
| eval diff=tostring(now()-last_event,"duration") | table diff
Get Updates on the Splunk Community!

ICYMI - Check out the latest releases of Splunk Edge Processor

Splunk is pleased to announce the latest enhancements to Splunk Edge Processor.  HEC Receiver authorization ...

Introducing the 2024 SplunkTrust!

Hello, Splunk Community! We are beyond thrilled to announce our newest group of SplunkTrust members!  The ...

Introducing the 2024 Splunk MVPs!

We are excited to announce the 2024 cohort of the Splunk MVP program. Splunk MVPs are passionate members of ...