fluent / fluent-bit

Fast and Lightweight Logs and Metrics processor for Linux, BSD, OSX and Windows
https://fluentbit.io
Apache License 2.0
5.53k stars 1.51k forks source link

OpenTelemetry input plugin not working with Envoy Proxy - throws HTTP 400 Error #8192

Open dceravigupta opened 7 months ago

dceravigupta commented 7 months ago

Bug Report

Describe the bug I'm trying to use the opentelemetry input plugin (HTTP/Protobuf) to capture traces from Envoy Proxy. But fluentbit throws a 400 Bad Request error whenever Envoy tries to send a trace over.

image

To Reproduce


- This configuration requires envoy version 1.28 or above.

**Your Environment**
<!--- Include as many relevant details about the environment you experienced the bug in -->
* Version used: Fluent Bit 2.1.10
* Environment name and version (e.g. Kubernetes? What version?): Virtual Machine
* Server type and version: Envoy Proxy 1.28
* Operating System and version: Ubuntu 20.04LTS
* Filters and plugins: in_opentelemetry
edsiper commented 5 months ago

@dceravigupta would you please provide more steps and fluent bit config to reproduce the problem ?

usually what takes time for us is to prepare the repro case, if you can provide it would be great

dceravigupta commented 5 months ago

@edsiper here is my fluent bit config:

[INPUT] name opentelemetry listen 127.0.0.1 port 5317 tag opentelemetry.3

[OUTPUT] name stdout match *

Let me try to repro it again with the latest fluent bit and will share the repro steps with all the configs soon. In the meantime, you can also checkout similar issue reported by other folks. https://github.com/fluent/fluent-bit/issues/7678

dceravigupta commented 5 months ago

@edsiper please download fluentbitenvoy.zip attachment under a directory on a Linux machine (I tried on Ubuntu)

Here are the repo steps:

  1. Open the bash and navigate to directory containing all the files.
  2. Install and launch fluent bit with the config in the attachment.

sudo apt-get install fluent-bit /opt/fluent-bit/bin/fluent-bit -c fluentbit.conf

  1. In second bash terminal, launch Envoy with the provided config

./envoy_1_28 -l debug -c envoyconfig.yml

  1. Even without hitting Envoy endpoint, you can see following errors in its logs:

image

  1. If you don't see any errors, in a third terminal, hit the following endpoint using curl.

curl -k http://localhost:30443/todos/1

fluentbitenvoy.zip

dceravigupta commented 4 months ago

@edsiper did you get a chance to look at the repro? Let me know if you need any more data points from my side. Thanks!

edsiper commented 2 months ago

might be relevant: https://github.com/fluent/fluent-bit/issues/8742