Forward

Forward is the protocol used by Fluentdarrow-up-right to route messages between peers. The forward output plugin provides interoperability between Fluent Bitarrow-up-right and Fluentdarrow-up-right. There are no configuration steps required besides specifying where Fluentdarrow-up-right is located, which can be a local or a remote destination.

This plugin offers two different transports and modes:

  • Forward (TCP): It uses a plain TCP connection.

  • Secure Forward (TLS): when TLS is enabled, the plugin switch to Secure Forward mode.

Configuration Parameters

The following parameters are mandatory for either Forward for Secure Forward modes:

Key
Description
Default

Host

Target host where Fluent-Bit or Fluentd are listening for Forward messages.

127.0.0.1

Port

TCP Port of the target service.

24224

Time_as_Integer

Set timestamps in integer format, it enable compatibility mode for Fluentd v0.12 series.

False

Upstream

If Forward will connect to an Upstream instead of a simple host, this property defines the absolute path for the Upstream configuration file, for more details about this refer to the Upstream Servers documentation section.

Unix_Path

Specify the path to unix socket to send a Forward message. If set, Upstream is ignored.

Tag

Overwrite the tag as we transmit. This allows the receiving pipeline start fresh, or to attribute source.

Send_options

Always send options (with "size"=count of messages)

False

Require_ack_response

Send "chunk"-option and wait for "ack" response from server. Enables at-least-once and receiving server can control rate of traffic. (Requires Fluentd v0.14.0+ server)

False

Compress

Set to "gzip" to enable gzip compression. Incompatible with Time_as_Integer=True and tags set dynamically using the Rewrite Tagarrow-up-right filter. (Requires Fluentd v0.14.7+ server)

Workers

Enables dedicated thread(s) for this output. Default value is set since version 1.8.13. For previous versions is 0.

2

Secure Forward Mode Configuration Parameters

When using Secure Forward mode, the TLS mode requires to be enabled. The following additional configuration parameters are available:

Key
Description
Default

Shared_Key

A key string known by the remote Fluentd used for authorization.

Empty_Shared_Key

Use this option to connect to Fluentd with a zero-length secret.

False

Username

Specify the username to present to a Fluentd server that enables user_auth.

Password

Specify the password corresponding to the username.

Self_Hostname

Default value of the auto-generated certificate common name (CN).

localhost

tls

Enable or disable TLS support

Off

tls.verify

Force certificate validation

On

tls.debug

Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose

1

tls.ca_file

Absolute path to CA certificate file

tls.crt_file

Absolute path to Certificate file.

tls.key_file

Absolute path to private Key file.

tls.key_passwd

Optional password for tls.key_file file.

Forward Setup

Before proceeding, make sure that Fluentdarrow-up-right is installed, if it's not the case please refer to the following Fluentd Installationarrow-up-right document and go ahead with that.

Once Fluentdarrow-up-right is installed, create the following configuration file example that will allow us to stream data into it:

That configuration file specifies that it will listen for TCP connections on the port 24224 through the forward input type. Then for every message with a fluent_bit TAG, will print the message to the standard output.

In one terminal launch Fluentdarrow-up-right specifying the new configuration file created:

Fluent Bit + Forward Setup

Now that Fluentdarrow-up-right is ready to receive messages, we need to specify where the forward output plugin will flush the information using the following format:

If the TAG parameter is not set, the plugin will retain the tag. Keep in mind that TAG is important for routing rules inside Fluentdarrow-up-right.

Using the CPU input plugin as an example we will flush CPU metrics to Fluentdarrow-up-right with tag fluent_bit:

Now on the Fluentdarrow-up-right side, you will see the CPU metrics gathered in the last seconds:

So we gathered CPU metrics and flushed them out to Fluentdarrow-up-right properly.

Fluent Bit + Secure Forward Setup

DISCLAIMER: the following example does not consider the generation of certificates for best practice on production environments.

Secure Forward aims to provide a secure channel of communication with the remote Fluentd service using TLS.

Fluent Bit

Paste this content in a file called flb.conf:

Fluentd

Paste this content in a file called fld.conf:

If you're using Fluentd v1, set up it as below:

Test Communication

Start Fluentd:

Start Fluent Bit:

After five seconds, Fluent Bit will write records to Fluentd. In Fluentd output you will see a message like this:

Last updated

Was this helpful?