Skip to content

fluent-plugins-nursery/fluent-plugin-opentelemetry

Repository files navigation

fluent-plugin-opentelemetry

Fluentd input/output plugin to forward OpenTelemetry Protocol data.

Installation

RubyGems

gem install fluent-plugin-opentelemetry

Bundler

gem "fluent-plugin-opentelemetry"

And then execute:

$ bundle

Configuration

Input plugin

To receive data, this plugin requires <http> or <grpc> section, or both.

Root section

parameter type description default
tag string The tag of the event required

<http> section

This requires to receive data via HTTP/HTTPS.

parameter type description default
bind string The address to bind to 0.0.0.0
port integer The port to listen to 4318

<grpc> section

This requires to receive data via gRPC.

Warning

Now, gRPC feature status is experimental.

parameter type description default
bind string The address to bind to 0.0.0.0
port integer The port to listen to 4318
  • <transport> section

Refer Config: Transport Section

Example

<source>
  @type opentelemetry
  tag opentelemetry

  <http>
    bind 0.0.0.0
    port 4318
  </http>

  <grpc>
    bind 0.0.0.0
    port 4317
  </grpc>
</source>

Output plugin

To send data, this plugin requires <http> or <grpc> section.

<http> section

This requires to send data via HTTP/HTTPS.

parameter type description default
endpoint string The endpoint for HTTP/HTTPS request http://127.0.0.1:4318
proxy string The proxy for HTTP/HTTPS request nil
error_response_as_unrecoverable bool Raise UnrecoverableError when the response code is not SUCCESS true
retryable_response_codes array The list of retryable response codes [429, 502, 503, 504]
read_timeout integer The read timeout in seconds 60
write_timeout integer The write timeout in seconds 60
connect_timeout integer The connect timeout in seconds 60
parameter type description available values default
compress enum The option to compress HTTP request body text / gzip text

<grpc> section

This requires to send data via gRPC.

Warning

Now, gRPC feature status is experimental.

parameter type description default
endpoint string The endpoint for HTTP/HTTPS request 127.0.0.1:4317

<transport> section

parameter type description default
cert_path string Specifies the path of Certificate file nil
private_key_path string Specifies the path of Private Key file nil
private_key_passphrase string Specifies the public CA private key passphrase nil
parameter type description available values default
min_version enum Specifies the lower bound of the supported SSL/TLS protocol TLS1_1 / TLS1_2 / TLS1_3 nil
max_version enum The endpoint for HTTP/HTTPS request TLS1_1 / TLS1_2 / TLS1_3 nil

Refer Config: Transport Section

<buffer> section

parameter type description default
chunk_keys array Overwrites the default chunk_keys value in this plugin. tag

Refer Config: Buffer Section

Example

<match opentelemetry.**>
  @type opentelemetry

  <http>
    endpoint "https://127.0.0.1:4318"
  </http>
</match>

Copyright

  • Copyright(c) 2025- Shizuo Fujita
  • License
    • Apache License, Version 2.0

About

Fluentd input/output plugin to forward OpenTelemetry Protocol data.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published