Splunk Search

How Do I Filter A Query By A Dynamic Created Eval Field?

vtsguerrero
Contributor

For example, in each log, I have start_date and end_date, they both together become eval length = ( end_date - start_date ).
So I need my query to be like:

index=test lenght=??/??/???? DD/MM/YYYY | timechart count by logs

Is there a way I can create this dinamic field to be a fixed eval command for splunk? How do I do this?

Thanks in advance!

Tags (1)
1 Solution

wpreston
Motivator

There are a couple of ways to handle this. If you want this length field to be created without having to perform an eval statement in your search, you can add the eval statement to your props.conf file. Once it's in there, Splunk will automatically eval that field at search time when it extracts the rest of your fields. Add a statement like this to the appropriate props.conf stanza(s):

EVAL-length = end_date - start_date

Or, if you only want to filter on the length field after you've eval'd it in a search, just add a | search statement onto the end of your search. This will filter your search results down by whatever your search string is:

index=test rest of search terms | eval length=end_date-start_date | search length > foo

View solution in original post

wpreston
Motivator

There are a couple of ways to handle this. If you want this length field to be created without having to perform an eval statement in your search, you can add the eval statement to your props.conf file. Once it's in there, Splunk will automatically eval that field at search time when it extracts the rest of your fields. Add a statement like this to the appropriate props.conf stanza(s):

EVAL-length = end_date - start_date

Or, if you only want to filter on the length field after you've eval'd it in a search, just add a | search statement onto the end of your search. This will filter your search results down by whatever your search string is:

index=test rest of search terms | eval length=end_date-start_date | search length > foo

vtsguerrero
Contributor

There might be a dynamic eval for a string as well, for example eval channel = (log_a + log_b + "channel")

0 Karma
Career Survey
First 500 qualified respondents will receive a $20 gift card! Tell us about your professional Splunk journey.

Can’t make it to .conf25? Join us online!

Get Updates on the Splunk Community!

Calling All Security Pros: Ready to Race Through Boston?

Hey Splunkers, .conf25 is heading to Boston and we’re kicking things off with something bold, competitive, and ...

Beyond Detection: How Splunk and Cisco Integrated Security Platforms Transform ...

Financial services organizations face an impossible equation: maintain 99.9% uptime for mission-critical ...

Customer success is front and center at .conf25

Hi Splunkers, If you are not able to be at .conf25 in person, you can still learn about all the latest news ...