fluent / fluent/fluentd

support for proxy protocol v2 and AWS ELB custom TLV type

Open
#2,142 0 comments 4 reactions 0 assignees View on GitHub
enhancement
Dominant language
Ruby
Stars
13.6k
Forks
1.4k
Avg merge
1d 3h
Merged PRs (30d)
20

Description

We'd love to put fluentd behind an AWS PrivateLink endpoint, but still be able to see data about which endpoint the consumer is using (which we can then use to identify which consumer is talking to us). AWS ELB supports proxy protocol v2 and includes a custom TLV type that exposes the endpoint id on the consumer side.

Similar to the `add_remote_addr` option in fluentd for http, we'd love to see an `accept_proxy` option that enables support at the tcp level to use the proxy protocol information and expose the TLV values as well.

* https://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-target-groups.html#proxy-protocol
* https://www.haproxy.org/download/1.8/doc/proxy-protocol.txt

Contributor guide

Open the contributing guide

Research direction

Start by locating the HTTP implementation of the add_remote_addr option and the TCP input entry point, then read the linked AWS ELB and HAProxy proxy protocol specifications. Done means fluentd can accept Proxy Protocol v2 at the TCP level and expose the AWS ELB custom TLV values, including the consumer endpoint ID.

Written by the indexing model from the issue text.

Assessment

Tech stack
aws, ruby
Domain
cloud, networking
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.