OpenTelemetry
This integration is community-maintained. Reference: ory/integrates/monitoring-observability/opentelemetry.
Ory natively supports OpenTelemetry. Self-hosted products list it as the first supported tracing backend in the Ory observability docs; Ory Network exports OTLP for traces, metrics, and logs.
See the self-hosted distributed tracing docs (OpenTelemetry is the recommended backend), the self-hosted observability docs, and the Kratos tracing guide.
Two paths
Self-hosted Ory with the native OTLP exporter
Each Ory product accepts standard OTel environment variables to ship traces directly to a collector or backend:
TRACING_PROVIDER=otel
OTEL_EXPORTER_OTLP_ENDPOINT=https://otel-collector.example.com:4318
OTEL_SERVICE_NAME=ory-kratos # or hydra/keto/oathkeeper
OTEL_RESOURCE_ATTRIBUTES=service.namespace=identity,deployment.environment=production
TRACING_PROVIDERS_OTLP_SAMPLING_SAMPLING_RATIO=1.0 # tune in production
Ory Network with OTLP export
Ory Network exports OTLP from the managed control plane. In the Ory Console, go to Project Settings, then Telemetry, set
the OTLP endpoint (your collector's public address), pick grpc (4317) or http/protobuf (4318), and add any auth headers your
collector requires.
Recommended pipeline
For production, run an OpenTelemetry Collector in front of your final backend:
Ory ─OTLP─▶ OTel Collector ─export─▶ Tempo / Datadog / New Relic / Honeycomb / ...
(batch, retry, sample, redact)
The collector handles batching, retries, sampling, and PII redaction in one place, so you can swap backends without touching the Ory configuration.
