Splunk Search

Splunk Event difference calculation

priya1926
Path Finder

hi,

i am using the below query to list the bootup time and downtime based on event code.. but if the bootuptime shows 3 different days in a month, the calculation for downtime is same for all the three days..

index="wineventlog" host IN (abc) (EventCode=6005) Type=Information
| eval BootUptime = strftime(_time, "%Y-%d-%m %H:%M:%S")
| table host, BootUptime
| fields _time, host, BootUptime
| join type=left host[| search index="wineventlog" host IN (abc) EventCode=6006 OR EventCode="6005" Type=Information
| transaction host startswith=6006 endswith=6005 maxevents=2
| eval duration=tostring(duration,"duration")
| eval time_taken = replace(duration,"(\d+)\:(\d+)\:(\d+)","\1h \2min \3sec")
| rename time_taken AS Downtime]
| table _time host BootUptime Downtime

eg:

host    bootuptime                                        downtime
abc      2022-15-01 08:15:40                      00h 02min 51sec

abc      2022-20-01 03:58:22                      00h 02min 51sec

abc      2022-15-01 04:34:53                       00h 02min 51sec



correct answer for downtime is  2.85min, 2.8min & 3.1666666666666665min

How to correct it?


Thanks in advance

Labels (4)
0 Karma
1 Solution

ITWhisperer
SplunkTrust
SplunkTrust

Would this not do the same thing without the need for a join?

| eval BootUptime = if(EventCode=6005,strftime(_time, "%Y-%d-%m %H:%M:%S"),null())

View solution in original post

0 Karma

ITWhisperer
SplunkTrust
SplunkTrust

What is the purpose of the join? It looks like you could start your search with

index="wineventlog" host IN (abc) EventCode=6006 OR EventCode="6005" Type=Information

Then use transaction on the results?

0 Karma

priya1926
Path Finder

@ITWhisperer 
the purpose of join here is first cmd will give me bootup time and the second command will give me the downtime ie., time difference between two events.

0 Karma

ITWhisperer
SplunkTrust
SplunkTrust

Would this not do the same thing without the need for a join?

| eval BootUptime = if(EventCode=6005,strftime(_time, "%Y-%d-%m %H:%M:%S"),null())
0 Karma
Got questions? Get answers!

Join the Splunk Community Slack to learn, troubleshoot, and make connections with fellow Splunk practitioners in real time!

Meet up IRL or virtually!

Join Splunk User Groups to connect and learn in-person by region or remotely by topic or industry.

Get Updates on the Splunk Community!

Event Series: Telemetry Pipeline Management

Balancing Scale and Spend: Gaining Control Over High-Volume Metrics in Splunk Observability Cloud As ...

Kick the Tires Before You Commit: A Hands-On Tour of the Splunk Observability Cloud ...

Evaluating an enterprise observability platform usually goes like this: fill out a form, get a free trial with ...

Deep insights, no barriers: Splunk Observability Cloud Free Edition

As software delivery cycles continue to accelerate, observability shouldn’t be a luxury — it should be a ...