Fluent

Example Configuration

Dummy message from fluentd

Config
Input
Output
1[sources.my_source_id]
2type = "fluent"
1"2021-05-20 16:23:03.021497000 -0400 dummy: {\"message\":\"dummy\"}"
1{
2 "log": {
3 "host": "34.33.222.212",
4 "timestamp": "2021-05-20T20:23:03.021497Z",
5 "tag": "dummy",
6 "message": "dummy"
7 }
8}

Dummy message from fluent-bit

Config
Input
Output
1[sources.my_source_id]
2type = "fluent"
1"dummy.0: [1621541848.161827000, {\"message\"=>\"dummy\"}]"
1{
2 "log": {
3 "host": "34.33.222.212",
4 "timestamp": "2020-05-20T20:17:28.161827Z",
5 "tag": "dummy.0",
6 "message": "dummy"
7 }
8}

Configuration Options

Required Options

address(required)

The address to listen for TCP connections on.

TypeSyntaxDefaultExample
stringliteral["0.0.0.0:24224"]
type(required)

The component type. This is a required field for all components and tells Vector which component to use.

TypeSyntaxDefaultExample
stringliteral["fluent"]

Advanced Options

receive_buffer_bytes(optional)

Configures the receive buffer size using the SO_RCVBUF option on the socket.

TypeSyntaxDefaultExample
uint[65536]
keepalive(optional)

Configures the TCP keepalive behavior for the connection to the source.

TypeSyntaxDefaultExample
hash[]
tls(optional)

Configures the TLS options for incoming connections.

TypeSyntaxDefaultExample
hashliteral[]

How it Works

Sending data from fluent agents to Vector aggregators

If you are already running fluent agents (Fluentd or Fluent Bit) in your infrastructure, this source can make it easy to start getting that data into Vector.

Fluentd configuration

To configure Fluentd to forward to a Vector instance, you can use the following output configuration:

	<match *>
	  @type forward
	  <server>
		# update these to point to your vector instance
		name  local
		host  127.0.0.1
		port 24224
	  </server>
	  compress gzip
	</match>

Fluent Bit configuration

To configure Fluent Bit to forward to a Vector instance, you can use the following output configuration:

	[OUTPUT]
		Name          forward
		Match         *
		# update these to point to your vector instance
		Host          127.0.0.1
		Port          24224

Secure forward mode support

The fluent source currently supports using TLS, but does not support the authentication part of the Fluent protocol including:

  • Shared key
  • Username and password

And so these options of the secure forward output plugins for Fluent and Fluent Bit cannot be used.

If you would find this useful, please let us know.

State

This component is stateless, meaning its behavior is consistent across each input.

Transport Layer Security (TLS)

Vector uses OpenSSL for TLS protocols. You can adjust TLS behavior via the tls.* options.

Acknowledgement support

The fluent source currently does not support the acknowledgement parts of the Fluent protocol and so the require_ack_response option forward output plugins for Fluent and Fluent Bit cannot be used.

If you would find this useful, please let us know.

Context

By default, the fluent source augments events with helpful context keys.