Splunk Search

Display Dates that Expire in 90 days

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

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

View solution in original post

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

View solution in original post

State of Splunk Careers

Access the Splunk Careers Report to see real data that shows how Splunk mastery increases your value and job satisfaction.

Find out what your skills are worth!