- Elastic Official APM agents – These are built specifically for use with the Elastic Stack. For these agents, plan a transition to OpenTelemetry instrumentation for your language, including any custom spans and attributes used by your application.
- Elastic Distributions of OpenTelemetry (EDOT SDKs) – These are Elastic’s distributions of the standard OpenTelemetry SDKs, available for .NET, Java, Node.js, PHP, and Python. If your application is already using an EDOT SDK, you don’t need to re-instrument your code. Instead, you can simply reconfigure the SDK to export telemetry data to your ClickHouse Observability OTLP endpoint. See “Migrating EDOT SDKs” for further details.
Migrating EDOT SDKs
The Elastic Distributions of the OpenTelemetry SDKs (EDOT SDKs) are customized versions of the official OpenTelemetry SDKs. For example, the EDOT Python SDK is a vendor-customized distribution of the OpenTelemetry Python SDK designed to work seamlessly with Elastic Observability. Because these SDKs are based on standard OpenTelemetry libraries, migration to ClickHouse Observability is straightforward - no re-instrumentation is required. You only need to adjust the configuration to direct telemetry data to your ClickHouse Observability OTLP endpoint. Configuration follows the standard OpenTelemetry mechanisms. For Python, this is typically done via environment variables, as described in the OpenTelemetry Zero-Code Instrumentation docs. A typical EDOT SDK configuration might look like this:- Fully managed
- Self-managed
Copy the OTLP HTTP endpoint and API key from Team Settings → Data → Managed Telemetry:Use the exact endpoint, including its port, without a signal suffix such as
/v1/traces. The header value uses %20 to encode the space after Bearer. See Sending OpenTelemetry data for connection details.