Skip to main content
Send logs, traces, and metrics from your existing Datadog agents to ClickHouse Observability. Your applications can keep their Datadog SDKs. Choose a managed endpoint or configure a Datadog receiver in your own collector, then use the same Agent configuration steps below.

Prerequisites

  • A managed or self-managed ClickHouse Observability service.
  • A running Datadog Agent collecting the signals you want to migrate. For traces, your application must already send traces to that Agent through a Datadog SDK.
  • Network access from the Agent to your Datadog receiver endpoint.

Set up your destination

Open your service and navigate to Team Settings → Data → Managed Telemetry. Copy the OTLP HTTP endpoint and API key.The Datadog endpoint uses the same hostname with port 8126. No additional collector is required. Use these values in the Agent configuration below:

Configure the Datadog Agent

Update your Agent’s datadog.yaml configuration file. Typical locations are /etc/datadog-agent/datadog.yaml on Linux and /opt/datadog-agent/etc/datadog.yaml on macOS. Merge the following settings into your existing configuration, using the destination values from the tab above:
Replace YOUR_DATADOG_URL with the full destination URL and YOUR_DATADOG_HOST_PORT with its hostname:port, without a scheme. Set logs_no_ssl to the value specified for your destination.
disable-convert-traces keeps Agent trace payloads compatible with the Datadog receiver. With Datadog Agent 7.85.2 and collector core 0.155.0, the Agent’s default indexed payload was accepted with HTTP 200 but produced no spans. Use the setting above for trace forwarding, and preserve any other entries in your existing apm_config.features list.
Keep your existing log collection integrations and application tracing configuration. These settings change where the Agent sends telemetry; they do not enable log collection for individual applications or add instrumentation. If you configure the Agent through environment variables, update the corresponding settings there too, including DD_API_KEY. This configuration redirects the Agent’s logs, traces, and metrics from Datadog to ClickHouse Observability. To evaluate it first, apply it to a test Agent before updating your wider deployment.

Restart and verify

Restart the Agent to apply the configuration. On Linux:
On macOS:
For a containerized Agent, update its configuration and redeploy the container. Generate fresh application activity, then open ClickHouse Observability and select a recent time range:
  • Logs: select your Logs source and filter by the application’s ServiceName.
  • Traces: select your Traces source and filter by the application’s ServiceName.
  • Metrics: search for a metric emitted by your application or Agent. For a DogStatsD test, emit a named gauge and check its value.
Check the Agent status for delivery errors if data does not appear. Verify the hostname, port, API key, and your service’s network access settings. Confirm that the Agent is collecting the relevant signal and that any environment-variable overrides use the same destination. For traces, verify a known trace ID rather than relying only on successful Agent delivery counters. If a service filter hides the trace, search by TraceId: the receiver can use the tracer’s base service as the resource service name while retaining a per-span service override in the service.name span attribute. Set DD_SERVICE in your application’s tracing configuration to establish its base service name.

Supported signals

The Datadog receiver is experimental. It translates Datadog logs, traces, and supported metrics into the OpenTelemetry data model used by ClickHouse Observability. The configuration above selects the v2 metrics intake; other Datadog backend features are outside this migration flow. You can retain your existing Datadog instrumentation while migrating applications to OpenTelemetry gradually.