Forward
Forward is the protocol used by Fluent Bit and Fluentd to route messages between peers. This plugin implements the input service to listen for Forward messages.
Configuration parameters
The plugin supports the following configuration parameters:
Listen
Listener network interface.
0.0.0.0
Port
TCP port to listen for incoming connections.
24224
Unix_Path
Specify the path to Unix socket to receive a Forward message. If set, Listen
and Port
are ignored.
none
Unix_Perm
Set the permission of the Unix socket file. If Unix_Path
isn't set, this parameter is ignored.
none
Buffer_Max_Size
Specify the maximum buffer memory size used to receive a Forward message. The value must be according to the Unit Size specification.
6144000
Buffer_Chunk_Size
By default the buffer to store the incoming Forward messages, don't allocate the maximum memory allowed, instead it allocate memory when it's required. The rounds of allocations are set by Buffer_Chunk_Size
. The value must be according to the Unit Size specification.
1024000
Tag_Prefix
Prefix incoming tag with the defined value.
none
Tag
Override the tag of the forwarded events with the defined value.
none
Shared_Key
Shared key for secure forward authentication.
none
Empty_Shared_Key
Use this option to connect to Fluentd with a zero-length shared key.
false
Self_Hostname
Hostname for secure forward authentication.
none
Security.Users
Specify the username and password pairs for secure forward authentication.
Get started
To receive Forward messages, you can run the plugin from the command line or through the configuration file as shown in the following examples.
Command line
From the command line you can let Fluent Bit listen for Forward messages with the following options:
fluent-bit -i forward -o stdout
By default, the service listens on all interfaces (0.0.0.0
) through TCP port 24224
. You can change this by passing parameters to the command:
fluent-bit -i forward -p listen="192.168.3.2" -p port=9090 -o stdout
In the example, the Forward messages arrive only through network interface 192.168.3.2
address and TCP Port 9090
.
Configuration file
In your main configuration file append the following Input
and Output
sections:
[INPUT]
Name forward
Listen 0.0.0.0
Port 24224
Buffer_Chunk_Size 1M
Buffer_Max_Size 6M
[OUTPUT]
Name stdout
Match *
Fluent Bit and Secure Forward Setup
In Fluent Bit v3 or later, in_forward
can handle secure forward protocol.
For using user-password authentication, specify security.users
at least an one-pair.
For using shared key, specify shared_key
in both of forward output and forward input.self_hostname
isn't able to specify with the same hostname between fluent servers and clients.
[INPUT]
Name forward
Listen 0.0.0.0
Port 24224
Buffer_Chunk_Size 1M
Buffer_Max_Size 6M
Security.Users fluentbit changeme
Shared_Key secret
Self_Hostname flb.server.local
[OUTPUT]
Name stdout
Match *
Testing
After Fluent Bit is running, you can send some messages using the fluent-cat
tool, provided by Fluentd:
echo '{"key 1": 123456789, "key 2": "abcdefg"}' | fluent-cat my_tag
When you run the plugin with the following command:
bin/fluent-bit -i forward -o stdout
In Fluent Bit you should see the following output:
Fluent-Bit v0.9.0
Copyright (C) Treasure Data
[2016/10/07 21:49:40] [ info] [engine] started
[2016/10/07 21:49:40] [ info] [in_fw] binding 0.0.0.0:24224
[0] my_tag: [1475898594, {"key 1"=>123456789, "key 2"=>"abcdefg"}]
Last updated
Was this helpful?