Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New component: Fluent Forward Exporter #29413

Closed
2 tasks
r0mdau opened this issue Nov 20, 2023 · 11 comments
Closed
2 tasks

New component: Fluent Forward Exporter #29413

r0mdau opened this issue Nov 20, 2023 · 11 comments
Labels

Comments

@r0mdau
Copy link

r0mdau commented Nov 20, 2023

The purpose and use-cases of the new component

Forward is the protocol used by Fluentd to route message between peers.

The goal is to export logs to Fluentd or Fluentbit process that runs with the in_forward input.

This protocol act on TCP (optional with TLS) using MessagePack object serialization.

Example configuration for the component

fluentforward/allsettings:
  endpoint: "localhost:24224"
  connection_timeout: 30s
  tls:
    insecure: false
    insecure_skip_verify: true
    ca_file: ca.crt
    cert_file: client.crt
    key_file: client.key
  shared_key: "otelcol-dev"
  require_ack: true
  tag: nginx
  compress_gzip: true
  default_labels_enabled:
    time: true
    exporter: false
    job: false
    instance: false
  sending_queue:
    enabled: true
    num_consumers: 2
    queue_size: 10
  retry_on_failure:
    enabled: true
    initial_interval: 10s
    max_interval: 60s
    max_elapsed_time: 10m

Configuration example source: https://github.com/r0mdau/fluentforwardexporter/blob/main/testdata/config.yaml

Telemetry data types supported

Logs

Is this a vendor-specific component?

  • This is a vendor-specific component
  • If this is a vendor-specific component, I am proposing to contribute and support it as a representative of the vendor.

Code Owner(s)

r0mdau

Sponsor (optional)

No response

Additional context

@r0mdau r0mdau added needs triage New item requiring triage Sponsor Needed New component seeking sponsor labels Nov 20, 2023
@r0mdau
Copy link
Author

r0mdau commented Nov 23, 2023

@dmitryax, you may be interested because you own the receiver code.

@bryan-aguilar
Copy link
Contributor

FluentBit already accept OTLP. Why is a forward exporter required?

@r0mdau
Copy link
Author

r0mdau commented Dec 1, 2023

@bryan-aguilar because I bet to not be the only one running infrastructure that only accept fluent-forward protocol as input and the protocol itself has some advantages by operating at OSI layer 4 (TCP) and can use a shared key for authorization. The protocol is using MessagePack objet serialization.

Example:

flowchart LR

A[Opentelemetry-CollectorA] -->|fluent-forward| B(Fluentd)
E[Opentelemetry-CollectorB...] -->|fluent-forward| B
B --> C(OpenSearch)
Loading

Copy link
Contributor

This issue has been inactive for 60 days. It will be closed in 60 days if there is no activity. To ping code owners by adding a component label, see Adding Labels via Comments, or if you are unsure of which component this issue relates to, please ping @open-telemetry/collector-contrib-triagers. If this issue is still relevant, please ping the code owners or leave a comment explaining why it is still relevant. Otherwise, please close it.

@tarokkk
Copy link
Contributor

tarokkk commented Mar 10, 2024

Also interested in this. A lot of people still use fluentd as an aggregator for specific outputs or doing some specific transformations. However I tried out the plugin and it seems that the receiver and the exporter conflicting

panic: msgp: RegisterExtension() called with typ 0 more than once

goroutine 1 [running]:
github.com/tinylib/msgp/msgp.RegisterExtension(0x0, 0x7a2dc40)
	github.com/tinylib/msgp@v1.1.9/msgp/extension.go:45 +0x118
github.com/open-telemetry/opentelemetry-collector-contrib/receiver/fluentforwardreceiver.init.0()
	github.com/open-telemetry/opentelemetry-collector-contrib/receiver/fluentforwardreceiver@v0.94.0/timeext.go:17 +0x28

Copy link
Contributor

This issue has been inactive for 60 days. It will be closed in 60 days if there is no activity. To ping code owners by adding a component label, see Adding Labels via Comments, or if you are unsure of which component this issue relates to, please ping @open-telemetry/collector-contrib-triagers. If this issue is still relevant, please ping the code owners or leave a comment explaining why it is still relevant. Otherwise, please close it.

Copy link
Contributor

This issue has been closed as inactive because it has been stale for 120 days with no activity.

@github-actions github-actions bot closed this as not planned Won't fix, can't repro, duplicate, stale Aug 26, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

5 participants