Does openTelemetry output plugin work with TLS (https://)? #9512
Description
Hi,
We're trying to send Fluentbit output to an Elastic endpoint (https:// [...].apm.westeurope.azure.elastic-cloud.com:443) with openTelemetry plugin, and fail :)
With plugin configuration:
[OUTPUT]
Name opentelemetry
Match *
Host [...].apm.westeurope.azure.elastic-cloud.com
Port 443
Header "Authorization=Bearer XYZ"
Tls On
Metrics_uri /v1/metrics
Logs_uri /v1/logs
Traces_uri /v1/traces
We get error logs like:
[2024/10/18 12:06:45] [error] [engine] chunk '1-1729253198.714716087.flb' cannot be retried: task_id=1, input=tail.0 > output=opentelemetry.0
[2024/10/18 12:07:03] [error] [output:opentelemetry:opentelemetry.0] [...].apm.westeurope.azure.elastic-cloud.com:443, HTTP status=400
400 Bad Request
In plugin documentation you claim that "At the moment only HTTP endpoints are supported.", yet provide "Tls" option/switch in the configuration...? The endpoint we try use is a "https://" one and while "400" indicates possibility to connect no further steps occur.
Now, Elastic Cloud APM server documentation states, that (Fluentbit is considered as an "OTEL agent" here):
"(1) OpenTelemetry agents and SDKs must support the OTEL_EXPORTER_OTLP_ENDPOINT, OTEL_EXPORTER_OTLP_HEADERS, and OTEL_RESOURCE_ATTRIBUTES variables; some unstable components may not yet comply with this requirement."
Does the plugin fulfil these requirements?
Thanks a lot for your help :)