Fluent codec plugin

edit
  • Plugin version: v3.4.3
  • Released on: 2024-06-25
  • Changelog

For other versions, see the Versioned plugin docs.

Getting help

edit

For questions about the plugin, open a topic in the Discuss forums. For bugs or feature requests, open an issue in Github. For the list of Elastic supported plugins, please consult the Elastic Support Matrix.

Description

edit

This codec handles fluentd’s msgpack schema.

For example, you can receive logs from fluent-logger-ruby with:

    input {
      tcp {
        codec => fluent
        port => 4000
      }
    }

And from your ruby code in your own application:

    logger = Fluent::Logger::FluentLogger.new(nil, :host => "example.log", :port => 4000)
    logger.post("some_tag", { "your" => "data", "here" => "yay!" })

Fluent uses second-precision for events, so you will not see sub-second precision on events processed by this codec.

Fluent Codec configuration options

edit
Setting Input type Required

nanosecond_precision

boolean

No

target

string

No

 

nanosecond_precision

edit
  • Value type is boolean
  • Default value is false

Enables sub-second level precision while encoding events.

target

edit
  • Value type is string
  • There is no default value for this setting.

Define the target field for placing the decoded values. If this setting is not set, data will be stored at the root (top level) of the event.

For example, if you want data to be put under the logs field:

    input {
      tcp {
        codec => fluent {
          target => "[logs]"
        }
        port => 4000
      }
    }