Route path branching

View thread

milank

Hi,

please advise me how to configure the following setup:

  • several inputs (UDP, TCP, internal) joined into common path (i_udp, i_tcp, i_internal => p_pattern ...),
  • one global processor (pattern, filter)  module,
  • several outputs (file, UDP, TCP),
  • every message is delivered to one of outputs according to processor's decision.

I call it "route branching". The solutions I have come to so far:

  1. "broadcast": p_pattern => o_file, o_udp, o_tcp -- every output having an Exec filter to drop() messages that should be sent via another output,
  2. "reroute": i_null => o_file; i_null => o_udp; i_null => o_tcp and use Exec reroute() in p_pattern.

The (1) is very inefficient. Otoh, (2) introduces problems with flow control, as the flow control is disabled when using reroute() (a new "feature" of 2.9.1504). So is there an efficient way with flow control enabled? ;-)

Milan