Skip to content

Add support for metadata in Fluentd event structure #4141

Open
@cosmo0920

Description

@cosmo0920

Is your feature request related to a problem? Please describe.

Currently, Fluentd handles the following events structure:

[TAG, TIMESTAMP, {RECORD}]

We wanted to change to handle metadata in Fluentd event structure:

[TAG, [TIMESTAMP, {METADATA}], {RECORD}]

Note that, in the above structure, timestamp is already one of the metadata structure and other metadata should be handled in msgpack map that is represented Hash in Ruby.

Describe the solution you'd like

Handle metadata requirements in Fluentd.

Describe alternatives you've considered

The minimum solution is just handled as normal Forwarded events with metadata from fluent-bit:

From fluent-bit, events metadata should be sent as:

[TAG, TIMESTAMP, {RECORD}, {metadata key/val in OPTION}]

And metadata part should be stored in a special key. However, supporting metadata in the second part of the event should be simpler for long term perspective.

Additional context

We'd discussed this RFC in fluent-bit issues:
fluent/fluent-bit#6666

UPDATE:

Also, Fluent Bit with out_forward just uses options to represent their metadata. We don't expect any breakage for sending logs type of Fluent Bit events from Fluent Bit to Fluentd.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementFeature request or improve operations

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions