Search code examples
protocol-buffersfluentd

Does fluentd supports protobuf message in the HTTP input?


Is it possible to send protobuf messages to Fluentd?

I'm not asking for protobuf parsing, just receive the protobuf and send it to an output.

Config example:

<source>
# Here I would receive the protobuf message
@type http
port 9880
bind 0.0.0.0
body_size_limit 32m
keepalive_timeout 10s
</source>

<match hello>
# And here I'd send the protobuf message to another endpoint
@type http

endpoint "http://localhost:9999"
open_timeout 2

<buffer>
flush_interval 1s
</buffer>
</match>

With this configuration, fluentd answers:

400 Bad Request
'json' or 'msgpack' parameter is required

Solution

  • You can use fluent-plugin-protobuf-http for single/batch input protocol buffers' messages encoded according to custom-defined schemas (.proto files).