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!

Introducing the Splunk Community Dashboard Challenge!

Welcome to Splunk Community Dashboard Challenge! This is your chance to showcase your skills in creating ...

Built-in Service Level Objectives Management to Bridge the Gap Between Service & ...

Wednesday, May 29, 2024  |  11AM PST / 2PM ESTRegister now and join us to learn more about how you can ...

Get Your Exclusive Splunk Certified Cybersecurity Defense Engineer Certification at ...

We’re excited to announce a new Splunk certification exam being released at .conf24! If you’re headed to Vegas ...