-
Notifications
You must be signed in to change notification settings - Fork 2.4k
Description
Describe the bug
The distributed tracing documentation at https://docs.opensearch.org/latest/observing-your-data/trace/distributed-tracing describes using telemetry.otel.tracer.span.exporter.class to configure the OTLP exporter, but this setting is not recognized by OpenSearch and causes startup failure.
OpenSearch fails to start with:
org.opensearch.bootstrap.StartupException: java.lang.IllegalArgumentException: unknown setting [telemetry.otel.tracer.span.exporter.class] please check that any required plugins are installed, or check the breaking changes documentation for removed settings.
Related component
Other
To Reproduce
-
Start OpenSearch 2.19.1 (or 2.17.1) with the experimental telemetry feature enabled:
OPENSEARCH_JAVA_OPTS="-Dopensearch.experimental.feature.telemetry.enabled=true" -
Add the following to opensearch.yml:
telemetry.feature.tracer.enabled: true
telemetry.tracer.enabled: true
telemetry.otel.tracer.span.exporter.class: io.opentelemetry.exporter.otlp.trace.OtlpGrpcSpanExporter -
Start OpenSearch
Expected behavior
OpenSearch should start and export traces via OTLP gRPC to the configured endpoint as documented.
Additional Details
OpenSearch Version
Tested on both 2.17.1 and 2.19.1 - same error.
Operating System
Linux (Docker container using opensearchproject/opensearch:2.19.1)
Additional context
• The documentation states this setting should work: https://docs.opensearch.org/latest/observing-your-data/trace/distributed-tracing#exporters
• Related issue: #13323 (also describes inability to configure OTLP export)
• Without this setting, users cannot send OpenSearch traces to external collectors like Jaeger or any OTLP-compatible backend
• The OTEL_EXPORTER_OTLP_ENDPOINT environment variable is also not respected