Add support for Kafka "raw" format for the payload #1727
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The existing "format" configuration for the Kafka output plugin will put
into the Kafka payload part a message in JSON format, MSGPACK format,
or GELF format. In the JSON and MSGPACK formats this sends all the
variables in the internal format, includes creating timestamp variable.
This means that the clients which get the payload from the broker need
to use these formats to extract the data, and also need to know the
variables encoded in the data.
This patch adds an option for a "raw" format (configured using the Kafka
output plugin "Format" configuration variable). This is to allow for
any other format of the Kafka payload, which can be formed by either an
input or filter plugin. For example, this could be used for sending a
payload in Google Protobuf format. When using format "raw" by default,
it will look for a variable named "payload" in the fluent-bit internal
MSGPACK packet information, and send the contents as the Kafka payload.
However, the configuration variable "Raw_Key" can be used to give the
name of the variable containing the Kafka payload information (instead
of using name "payload").