Splunk Search

Searching on fields extracted from Source field

New Member

I have multiple application environments on one host, and need to identify the environment based on the directory path in the source log file.

Using a regex in the search works fine, like so

sourcetype="gfstats" | rex field=source "[\w\W/]+/gf-(?<env>[^\.]+)\.log" | search env="app1"

But I would like to define the environment as a field I can use in other searches.

I added a line to props.conf:

EXTRACT-sourcefields = (?<logdir>[\w\W/]+)/gf-(?<environment>[^\.]+)\.log in source

But although I can now see the content of the environment field when I perform searches, I cannot use that field in searches.

sourcetype="gfstats" environment="app1"

returns no results. Why?

Tags (2)
0 Karma

Path Finder

You can add the field in fields.conf

[environment] INDEXED = false INDEX_VALUE = false

Settings INDEX_VALUE to false should prevent the search to be expanded to "val" AND fname="val"

0 Karma


We do practically the same thing for some of our apps. For this to work via props.conf / transforms.conf you have to set up "environment" as an indexed field.



This works, but all of the usual caveats related to indexed fields apply. Something just as good might be achievable with eventtypes, but I've not tried it to see.

0 Karma

Splunk Employee
Splunk Employee

The reason this happens is that a query for fname="val" on an search-time extracted field fname is internally converted to a search for ("val" AND fname="val") which first searches only for events containing the token val in the raw data. Unfortunately, your extracted field is not in the raw data, so the desired events don't come back.

0 Karma
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!