I have scoured the 'Net, Splunk docs and the Answers and found lots of good information on setting up my indexer filtering to reduce the noise coming from my firewall syslog UDP feed. I feel like I'm really close, because now there is nothing coming through. What I WANT to see are only messages that contain "TCP access denied". I can apply a piped REGEX statement on the search and it works, but I don't seem to have props and transforms files set up quite right yet.
This works in search: source=firewall | regex _raw="TCP access denied"
Props.conf:
[source::firewall]
TRANSFORMS-set= setnull,setparsing
Transforms.conf:
[setnull]
REGEX = .
DEST_KEY = queue
FORMAT = nullQueue
[setparsing]
REGEX _raw="TCP access denied"
DEST_KEY = queue
FORMAT = indexQueue
Any additional insight would be welcome!
Replace this:
REGEX _raw="TCP access denied"
With this:
REGEX = TCP access denied
That's assuming the quotes aren't part of the to-be-matched event.
Try reversing the order of your TRANSFORMS-set
statement. The setnull
transform is matching everything, leaving nothing for setparsing
to index.
The order setnull,setparsing
is correct. Both are run, nullQueue
is always set and sometimes overwritten by indexQueue
.
Replace this:
REGEX _raw="TCP access denied"
With this:
REGEX = TCP access denied
That's assuming the quotes aren't part of the to-be-matched event.
As a rule of thumb, restarting is necessary for all index-time configuration file changes, which this very much is.
Search-time config file changes may get along with a debug/refresh call.
SUCCESS!!! Thanks for the responses. I made the change recommended by martin_mueller and restarted Splunk (is that necessary?).
This will throw open the door for me to add more filtering and get our firewall index fully tuned...