Dashboards & Visualizations

Ongoing Patching Countdown

stevenbo
Explorer

Hello everyone, I am trying to use Splunk to create an ongoing patching countdown that will be Single Value (Days Until Patch) on my Dashboard. How can I go about accomplishing this? I was able to calculate 1 patch cycle, but I am not sure how to get it to recalculate for every month. Right now for example, it is telling me the next patch date is 2/29/2024. Hoping someone already has a solution built out. Thank you for any assistance! 

 

This is what I have so far:

| makeresults
| eval start= strptime("02-01-2024", "%m-%d-%Y")
| eval startStr=strftime(start, "%D")
| eval PatchDate = relative_time(start ,"+28d")
| eval PatchDateString= strftime(PatchDate, "%D")
| eval PriorPatchDate = relative_time(start ,"-28d")
| eval PriorPatchDateString = strftime(PriorPatchDate, "%D")
| eval daysCountD= strftime(PatchDate - now(), "%d")
| table daysCountD PriorPatchDateString PatchDateString
Labels (1)
0 Karma
1 Solution

burwell
SplunkTrust
SplunkTrust

How about something like this

| makeresults
| eval start= strptime("02-01-2024", "%m-%d-%Y")
| eval today=now()
| eval time_difference=floor((today-start)/(60*60*24))
| eval mod_val=time_difference % 28
| eval days_to_patch=28-mod_val

 

days_to_patch.png

View solution in original post

0 Karma

burwell
SplunkTrust
SplunkTrust

Hi so what's the patching schedule? Every 28 days starting in Feb 1?

0 Karma

stevenbo
Explorer

@burwell wrote:

Hi so what's the patching schedule? Every 28 days starting in Feb 1?


Sorry, yes. Every 28 days starting Feb 1. 

0 Karma

burwell
SplunkTrust
SplunkTrust

How about something like this

| makeresults
| eval start= strptime("02-01-2024", "%m-%d-%Y")
| eval today=now()
| eval time_difference=floor((today-start)/(60*60*24))
| eval mod_val=time_difference % 28
| eval days_to_patch=28-mod_val

 

days_to_patch.png

0 Karma

stevenbo
Explorer

@burwell wrote:

How about something like this

 

| makeresults
| eval start= strptime("02-01-2024", "%m-%d-%Y")
| eval today=now()
| eval time_difference=floor((today-start)/(60*60*24))
| eval mod_val=time_difference % 28
| eval days_to_patch=28-mod_val

 

 

days_to_patch.png


Thank you, I think this does exactly what I need! Greatly appreciated! 

0 Karma

burwell
SplunkTrust
SplunkTrust

Glad to hear this is what you needed. 

 

You can accept this solution to indicate the question was answered to your liking.  thanks!

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!

Persistent Queue at TcpOut — One of Splunk's Most Practical Features

Splunk introduced persistent queueing at the tcpout layer as one of the most practical resilience features in ...

Skip the Awkward Silence: Have a .conf-ersation at .conf26

Picture this. You arrive at .conf26 already having your socializing and networking plans mapped out. No ...

Rethinking Zero Trust: From Product Purchases to Logical Control Evidence

Implementing Zero Trust (ZT) across complex environments often falters at the very beginning due to a ...