Splunk Search

Display Dates that Expire in 90 days

jordanking1992
Path Finder

Hello,

We have a field called "Certificate Expiration Date" and trying to only show items that expire 90 days or less. Have tried fieldformat with no luck.

Suggestions?

alt text

0 Karma
1 Solution

jacobpevans
Motivator

Greetings @jordanking1992,

Here's a run-anywhere example:

           | makeresults | eval CertificateExpirationDate =  "9/24/2018 10:00 PM" 
| append [ | makeresults | eval CertificateExpirationDate =  "9/24/2019 10:00 PM" ]
| append [ | makeresults | eval CertificateExpirationDate = "12/20/2019 10:00 PM" ]
| append [ | makeresults | eval CertificateExpirationDate =  "1/10/2020 10:00 PM" ]
| append [ | makeresults | eval CertificateExpirationDate =  "9/24/2020 10:00 PM" ]
| eval  CertificateExpirationDate_epoch = strptime(CertificateExpirationDate, "%m/%d/%Y %I:%M %p")
| where CertificateExpirationDate_epoch < (now() + 90*86400) AND CertificateExpirationDate_epoch > now()
| fields - CertificateExpirationDate_epoch

For your data, it will look more like this:

[your base search]
| eval  CertificateExpirationDate_epoch = strptime('Certificate Expiration Date', "%m/%d/%Y %I:%M %p")
| where CertificateExpirationDate_epoch < (now() + 90*86400)
| fields - CertificateExpirationDate_epoch

If you only want values in the future, add another check for after now()

| where CertificateExpirationDate_epoch < (now() + 90*86400) AND CertificateExpirationDate_epoch > now()
Cheers,
Jacob

If you feel this response answered your question, please do not forget to mark it as such. If it did not, but you do have the answer, feel free to answer your own post and accept that as the answer.

View solution in original post

jacobpevans
Motivator

Greetings @jordanking1992,

Here's a run-anywhere example:

           | makeresults | eval CertificateExpirationDate =  "9/24/2018 10:00 PM" 
| append [ | makeresults | eval CertificateExpirationDate =  "9/24/2019 10:00 PM" ]
| append [ | makeresults | eval CertificateExpirationDate = "12/20/2019 10:00 PM" ]
| append [ | makeresults | eval CertificateExpirationDate =  "1/10/2020 10:00 PM" ]
| append [ | makeresults | eval CertificateExpirationDate =  "9/24/2020 10:00 PM" ]
| eval  CertificateExpirationDate_epoch = strptime(CertificateExpirationDate, "%m/%d/%Y %I:%M %p")
| where CertificateExpirationDate_epoch < (now() + 90*86400) AND CertificateExpirationDate_epoch > now()
| fields - CertificateExpirationDate_epoch

For your data, it will look more like this:

[your base search]
| eval  CertificateExpirationDate_epoch = strptime('Certificate Expiration Date', "%m/%d/%Y %I:%M %p")
| where CertificateExpirationDate_epoch < (now() + 90*86400)
| fields - CertificateExpirationDate_epoch

If you only want values in the future, add another check for after now()

| where CertificateExpirationDate_epoch < (now() + 90*86400) AND CertificateExpirationDate_epoch > now()
Cheers,
Jacob

If you feel this response answered your question, please do not forget to mark it as such. If it did not, but you do have the answer, feel free to answer your own post and accept that as the answer.
Get Updates on the Splunk Community!

Welcome to the Splunk Community!

(view in My Videos) We're so glad you're here! The Splunk Community is place to connect, learn, give back, and ...

Tech Talk | Elevating Digital Service Excellence: The Synergy of Splunk RUM & APM

Elevating Digital Service Excellence: The Synergy of Real User Monitoring and Application Performance ...

Adoption of RUM and APM at Splunk

    Unleash the power of Splunk Observability   Watch Now In this can't miss Tech Talk! The Splunk Growth ...