Skip to content

Does openTelemetry output plugin work with TLS (https://)? #9512

Open
@YouShallNotCrash

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 :)

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions