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

opentelemetry input plugin response does not match OTLP/HTTP specification #9624

Open
ajschmidt8 opened this issue Nov 20, 2024 · 0 comments
Labels
opentelemetry Fluent Bit + OpenTelemetry integration status: waiting-for-triage

Comments

@ajschmidt8
Copy link

Bug Report

Describe the bug
The HTTP response from the opentelemetry input plugin does not match the OTLP/HTTP specification.

In particular, it doesn't include:

  • the appropriate serialized Protobuf message (full success, partial success, or failure)
  • a Content-Type header

These requirements can be viewed in the OTLP/HTTP response specification here: https://opentelemetry.io/docs/specs/otlp/#otlphttp-response

To Reproduce

  • Run Fluent Bit version 3.2 with the opentelemetry input plugin configured
  • Use protocurl to send an example trace to Fluent Bit, e.g.:
    protocurl \
     -i opentelemetry.proto.collector.trace.v1.ExportTraceServiceRequest \
     -o opentelemetry.proto.collector.trace.v1.ExportTraceServiceResponse \
     -u http://localhost:4318/v1/traces \
     -d @trace.json -I op -D
  • Notice the empty response body and missing headers in the screenshot section below

Expected behavior

The opentelemetry input plugin should return a response with headers and a body that matches the OTLP/HTTP specification.

Screenshots

This screenshot shows the missing headers and body content from the Fluent Bit opentelemetry input plugin response:

image

This is in contrast with other OTLP/HTTP implementations, like Grafana Tempo, which issue a response shown in the following screenshot:

image

Your Environment

  • Version used: 3.2
  • Configuration:
    [SERVICE]
        Flush                1
        Log_level            debug
    
    [INPUT]
        name    opentelemetry
        listen  0.0.0.0
        port    4318
    
    [OUTPUT]
        Name                 opentelemetry
        Match                *
        Host                 tempo
        Port                 4318
        Log_response_payload True
  • Operating System and version: Ubuntu 22.04
  • Filters and plugins: opentelemetry input plugin

Additional context

This issue has caused problems some the otel-cli client that we use. Specifically, the lines below throw an error due to the missing Content-Type headers.

cc: @msarahan

@lecaros lecaros added the opentelemetry Fluent Bit + OpenTelemetry integration label Nov 22, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
opentelemetry Fluent Bit + OpenTelemetry integration status: waiting-for-triage
Projects
None yet
Development

No branches or pull requests

2 participants