You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
[SERVICE]
Log_Level trace
Daemon off
[INPUT]
name opentelemetry
listen 0.0.0.0
port 4318
Tag opentelemetry
[OUTPUT]
Name opensearch
Match *
Host opensearch
Port 9200
Index otel-v1-apm-span-000001
tls On
tls.verify Off
Trace_Output On
# Don't worry these are dev credentials
HTTP_User admin
HTTP_Passwd *aK7Dz#Yx83W*nVVt
Then send some logs to fluentbit opentelemetry input (e.g using python opentelemetry instrumentation)
Fluent Bit should send traces to opensearch POST /_bulk endpoint.
Actual behavior
POST /_bulk endpoint is called with an empty payload.
This is the same when using gRPC endpoint
It looks like opentelemetry INPUT plugin works (using STDOUT as output shows that protobuf data from OTLP has been decoded properly)
I suspect error might be related to how record conversion from msgpack to json is made in out_opensearch but I don't understand Fluent Bit code enough to be sure.
Maybe I misunderstood documentation as it lacks of a working example on how FluentBit can foward opentelemetry traces to opensearch
Thanks for any help
The text was updated successfully, but these errors were encountered:
Hi @hoshiyosan, I'm currently looking into this issue and found that fluent-bit does properly send logs collected from an opentelemetry input to the opensearch output, however, it does not properly send traces regardless of the source to an opentelemetry output which is what your python snippet sends to fluent-bit.
The issue can be easily identified in line 906 of the opensearch output plugin where the variable pack which contains the results of the trace-to-json operation is overwritten with the uninitialized variable meant to hold the encoded log content (which in this case is never produced because we are processing a trace) chunk.
I am in the process of opening a PR to fix this and will update my response with the correct link once it's open.
Bug Report
Describe the bug
Fluent bit fails to send logs collected by opentelemetry input source to opensearch output.
To Reproduce
Docker + current latest image of fluentbit (v3.0.6)
With the following
./confs/fluent-bit.conf
:Expected behavior
Fluent Bit should send traces to opensearch
POST /_bulk
endpoint.Actual behavior
POST /_bulk
endpoint is called with an empty payload.Maybe I misunderstood documentation as it lacks of a working example on how FluentBit can foward opentelemetry traces to opensearch
Thanks for any help
The text was updated successfully, but these errors were encountered: