Hello,
I have a question about extracting dates from fields for comparison purposes. I am trying to write a search that shows new windows software installations over the past 30 days.
Currently, the dates installedapps.bat file that is part of the Splunk App for Windows comes back as 20170622,20170627,etc... which is YearMonthDate. I want to compare the InstallDate to Today's date.
What would be the best way to search for only software that has been installed in the past 30 days? I cannot use the _time field because that is just the date the script was run, not the date of the software installation.
Thanks in advance for the help!
hello there,
run this search to see how to convert your time in field to epoch:
| makeresults count=1
| eval install_dates ="20170622,20170627,20170629,20170703"
| makemv delim="," install_dates
| mvexpand install_dates
| eval install_dates_epoch = strptime(install_dates, "%Y%m%d")
now you can add your condition:
| where install_dates_epoch < relative_time(now(),"-30d@d")
apply this technique to your search
hope it helps
hello there,
run this search to see how to convert your time in field to epoch:
| makeresults count=1
| eval install_dates ="20170622,20170627,20170629,20170703"
| makemv delim="," install_dates
| mvexpand install_dates
| eval install_dates_epoch = strptime(install_dates, "%Y%m%d")
now you can add your condition:
| where install_dates_epoch < relative_time(now(),"-30d@d")
apply this technique to your search
hope it helps
Hi Adonio,
Thanks for response, this is exactly what i was looking for.
I just had to make one minor tweak.
| where install_dates_epoch **>** relative_time(now(),"-30d@d")
Now it's showing me events that happened in the last 30 days