This is a very typical mistake (don't get it personally, everyone makes it at some point ;-)). A list of transforms - in your case it's TRANSFORMS-routing - contains a list of transforms of which all will be executed. It's not something like ACL on a router when you terminate the list when you match some condition but it is always evaluated from left to right, from beginning to the end. I assume the misconception comes from the fact that transforms themselves do not actually drop the events but rather set metadata fields on which Splunk acts later after the event passes this stage of the pipeline. So in your case you firstly send some events to indexQueue (which is a bit redundant since they are destined there by default) and then you send all events to dropQueue (including those you previously "redirected" to indexQueue. And only after the transforms have been finished Splunk finally does something with the event according to the metadata fields. In your case, since all events have destination queue specified as dropQueue, all events are dropped. Do you see where I'm going with this? The order should be reversed. First you should "drop" all events (set the destination queue to dropQueue). And then, on events which are supposed to be retained, you overwrite that value with indexQueue. [source::/var/log/pods/hammy_*]
TRANSFORMS-routing = drop_all_logs, whitelist_blausy_logs
... View more