liveBook · Manning

Forward input plugin

As explained in Logs and Telemetry

A forward input plugin is a Fluent Bit input extension that receives events encoded with the forward protocol.

The forward input plugin receives events sent with the forward protocol and places them into a Fluent Bit pipeline. Because Fluent Bit and Fluentd share this defined protocol, either implementation can exchange events without needing to know which one is on the other end. This makes the input useful for connecting Fluent nodes and for accepting data from products or logging integrations that support forward directly. section 3.1 section 3.9

Configure the input as a network listener: set `name forward`, choose an address with `listen`, and select a listening `port`. Its buffer controls follow the same pattern as the HTTP input, including `buffer_max_size` and `buffer_chunk_size`. A receiving node can then route or print the incoming records through its normal pipeline. section 3.6.4

Receive a forwarded event on port 9980

A minimal receiver listens on all interfaces and sends every received record to standard output: [SERVICE] flush 1 log_level debug [INPUT] name forward listen 0.0.0.0 port 9980 [OUTPUT] name stdout match * Run this configuration alongside a separate Fluent Bit process whose forward output targets port 9980. The sender reports forwarding the message; the receiver prints the message, including its tag and timestamp. section 3.6.4

Tags determine how forwarded events retain or gain routing identity. `tag` replaces the tag carried in the forward payload, while `tag_prefix` adds a prefix. Preserving the original tag keeps continuity across nodes; prefixing makes it easier to distinguish records that originated locally from those received from another Fluent Bit instance. section 3.6.4

Use TLS for protected network connectivity. When communicating with Fluentd, TLS can be combined with basic authentication through `username` and `password`, or with a shared token using `shared_key`; `empty_shared_key` disables that token requirement. These choices apply where network forwarding needs transport protection and peer controls. section 5.9 section 3.9

Listing 3.9 forward plugin example: forward-out.conf
[SERVICE]
  flush 1
  log_level debug

[INPUT]
  name forward       #1
  listen 0.0.0.0      #2
  port 9980

[OUTPUT]
  name stdout
  match *

Inspect the complete minimal forward receiver configuration, including service flushing, the listener address and port, and stdout output. section 3.6.4

How Logs and Telemetry covers it

How deep it goes
Explains listener, buffering, tag controls, a two-process flow, and TLS options without detailing protocol internals.
Examples
Demonstrates two Fluent Bit configurations, a port-9980 receiver, stdout output, and Postman-triggered forwarding.
What it assumes
Assumes ability to run Fluent Bit configurations and use separate shell sessions for a two-node pipeline.
What you can do after
Operate/configure it as a tagged forward-protocol listener and secure Fluent-node connectivity with TLS authentication options.
How it connects
Connects Fluent Bit with Fluentd, forward output, HTTP input, TLS, basic authentication, and shared keys.

Also explained in

Compare how 2 books explain forward input plugin →

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Logs and Telemetry. The section links point to the parts of the book it draws on.