liveBook · Manning

Forward protocol

As explained in Logs and Telemetry

The Fluent Forward protocol is a data-transport specification for forwarding event records between Fluent Bit, Fluentd, and compatible systems.

The Fluent Forward protocol is a defined network transport for forwarding event records between Fluent Bit, Fluentd, and compatible systems. Its standard payload enables interoperability even when implementations use different programming languages. section 3.1 section 3.6.4

Use the protocol when you need to:

  • Connect Fluent Bit and Fluentd so Fluent Bit can handle efficient processing while Fluentd supplies additional plugins. section 3.1
  • Receive events from compatible products such as Docker's Fluentd logging driver without implementing a specific input plugin. section 3.1 section 3.6.4
  • Build networked Fluent Bit deployments that route events between instances and toward a common destination. section 3.6 section 3.6.4

The forward payload has a prescribed structure and uses MessagePack binary serialization. MessagePack improves transmission performance without requiring a schema or generated code; unlike HTTP handling described here, the tag and timestamp remain part of the core message payload. section 3.6.4

Forward input configuration

A Fluent Bit instance can listen for forward events on all interfaces at port 9980 and write matching records to its console: [SERVICE] flush 1 log_level debug [INPUT] name forward listen 0.0.0.0 port 9980 [OUTPUT] name stdout match * A second configuration can use the forward output to send received data to another Fluent Bit instance. section 3.6.4

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 forward plugin configuration and its annotated listener and output settings. section 3.6.4

How Logs and Telemetry covers it

How deep it goes
Explains interoperability, payload encoding, preserved fields, and a listener configuration, but does not detail reliability or security settings.
Examples
Demonstrates a port-9980 forward input, stdout output, two-instance routing, and Docker's Fluentd logging driver.
What it assumes
Assumes familiarity with Fluent Bit or Fluentd configuration while establishing their interoperability through a shared protocol.
What you can do after
Operate/configure Fluent Bit forward inputs and outputs to receive, route, and display events across instances.
How it connects
Links Fluent Bit, Fluentd, HTTP, OpenTelemetry, MessagePack, Docker logging drivers, and network deployment patterns.

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.