Open Telemetry Configuration
You should be able to use the standard Open Telemetry environment variables, but we highlight some that you’d commonly want to specify for typical use cases.
Disabling Open Telemetry
Set OTEL_SDK_DISABLED=true to disable telemetry entirely. This does not affect the
(structured) logging to the container stdout/stderr.
Configuring the Open Telemetry sink
Enabling Open Telemetry (enabled by default) requires you to have a “sink” to push the telemetry data to. Open Object only supports the Open Telemetry Protocol (OTLP). You can use any vendor that supports this protocol (over gRPC or HTTP/protobuf).
Tip
We recommend the usage of the Open Telemetry Collector as sink - you are then in full control of how telemetry is processed and exported.
Environment variables you likely want to set
OTEL_EXPORTER_OTLP_ENDPOINT: network address where to send the metrics to. Examples are:https://otel.example.com:4318orhttp://otel-collector.namespace.cluster.svc:4317. It defaults tolocalhost:4317, which will not work in a container context.OTEL_EXPORTER_OTLP_METRICS_INSECURE: set totrueif the endoint is not protected with TLS.OTEL_EXPORTER_OTLP_HEADERS: Any additional HTTP headers, e.g. when your collector is username/password protected with Basic auth, you want something like:Authorization=Basic <base64-username-colon-password>.OTEL_EXPORTER_OTLP_PROTOCOL: controls the wire protocol for the OTLP data. Defaults togrpc. Available options:grpcandhttp/protobuf.OTEL_METRIC_EXPORT_INTERVAL: controls how often (in milliseconds) the metrics are exported. The exports run in a background thread and should not affect the performance of the application. The default is every minute (60000)._OTEL_ENABLE_CONTAINER_RESOURCE_DETECTOR=true: enable this when not deploying on Kubernetes, but in another container runtime like Docker or Podman.Tip
On Kubernetes, use the Collector attributes processor.