Deployment Architecture

Intermediate forwarder auditing

cmeo-bcit
Explorer

Consider email headers which show all the steps involved in getting the email item from where it was sent to where it is going, give or take spoofing and other whimsy.

Is there a search in Splunk to display all the systems which have handled a particular event, from the original forwarder (easy), via any and all intermediate forwarders (less so...).

The value of this would be to identify a possibly misconfigured system somewhere in what could be a complex chain, or where you have different intermediate forwarders depending on where you are in the network.

My feeling is that this is not logged, but I could be wrong, and even so, there may be a way to assemble the path an event has taken somehow.

Thanks!

0 Karma
1 Solution

gcusello
SplunkTrust
SplunkTrust

Hi @cmeo-bcit ,

I usually use this configuration (on HF) to create a field at index time (as @PickleRick hinted):

fields.conf:

[splunk_hf]
INDEXED = true

props.conf:

[default]
TRANSFORMS-default = set_splunk_hf

transforms.conf:

[set_splunk_hf]
WRITE_META = true
INGEST_EVAL = splunk_hf := splunk_server

This solution correctly runs if you have only one HF level; if your data pass through more HFs, you have to use a different transforms configuration:

[set_splunk_hf]
WRITE_META = true
INGEST_EVAL = splunk_hf=case(isnull(splunk_hf),splunk_server,1=1,splunk_hf.":".splunk_server)

I added a proposal on Splunk ideas to add this feature as a standard in Splunk systems and it's "under consideration", if you think that's a good idea, vote for it at https://ideas.splunk.com/ideas/EID-I-1731 

Ciao.

Giuseppe

View solution in original post

gcusello
SplunkTrust
SplunkTrust

Hi @cmeo-bcit ,

I usually use this configuration (on HF) to create a field at index time (as @PickleRick hinted):

fields.conf:

[splunk_hf]
INDEXED = true

props.conf:

[default]
TRANSFORMS-default = set_splunk_hf

transforms.conf:

[set_splunk_hf]
WRITE_META = true
INGEST_EVAL = splunk_hf := splunk_server

This solution correctly runs if you have only one HF level; if your data pass through more HFs, you have to use a different transforms configuration:

[set_splunk_hf]
WRITE_META = true
INGEST_EVAL = splunk_hf=case(isnull(splunk_hf),splunk_server,1=1,splunk_hf.":".splunk_server)

I added a proposal on Splunk ideas to add this feature as a standard in Splunk systems and it's "under consideration", if you think that's a good idea, vote for it at https://ideas.splunk.com/ideas/EID-I-1731 

Ciao.

Giuseppe

PickleRick
SplunkTrust
SplunkTrust

1. As I wrote before, transform will fire only once. Use a ruleset.

2. Use simple = instead of := in INGEST_EVAL. This will create multivalued fields. Yes. I tried doing it your way so that you have a single value with the whole chain but the := operator's performance is worse than straight assignment, it's easier to look for single values and the more intermediate steps you have, the more cardinality of your field raises.

3. I would be very cautious about using a transform (or ruleset) class called "default". It's a very popular word, it's easy to cause namespace clash.

0 Karma

PickleRick
SplunkTrust
SplunkTrust

You are right, by default Splunk doesn't capture this information.

You can use a ruleset (not transform since it would only be fired once) to add an indexed field to your event on each step along the way. But it only works on a "heavy" component.

0 Karma

cmeo-bcit
Explorer

I've upvoted Giuseppe's Idea  EID-I-1731 for this issue. In the meantime, the workarounds suggested will work for an HF only, which doesn't help if your intermediate forwarders are UF.

Accepted the answer anyway because this is as good as it gets for now.

0 Karma

gcusello
SplunkTrust
SplunkTrust

Hi @cmeo-bcit ,

good for you, see next time!

Ciao and happy splunking

Giuseppe

P.S.: Karma Points are appreciated by all the contributors 😉

0 Karma
Get Updates on the Splunk Community!

Data Management Digest – December 2025

Welcome to the December edition of Data Management Digest! As we continue our journey of data innovation, the ...

Index This | What is broken 80% of the time by February?

December 2025 Edition   Hayyy Splunk Education Enthusiasts and the Eternally Curious!    We’re back with this ...

Unlock Faster Time-to-Value on Edge and Ingest Processor with New SPL2 Pipeline ...

Hello Splunk Community,   We're thrilled to share an exciting update that will help you manage your data more ...