This guide complements the Configure the OpenTelemetry Collector documentation, focusing on migrating from the Datadog Agent to OpenTelemetry while maintaining dual compatibility with Firetiger and Datadog during the transition period.


1. Why Migrate to OpenTelemetry?


2. Key Architectural Differences

Component Datadog Agent OpenTelemetry Collector
Data Collection checks.d integrations Receivers (OTLP, filelog, prometheus)
Processing Tags and enrichment via datadog.yaml Processors (batch, resource, attributes)
Data Export Datadog-specific endpoints Exporters (Firetiger, Datadog, etc.)
Instrumentation Datadog SDKs OpenTelemetry SDKs

3. Migration Steps

A. Install OpenTelemetry Collector (Contrib Distribution)

Use the Contrib distribution to access both Firetiger and Datadog exporters:

# On Linux
wget <https://github.com/open-telemetry/opentelemetry-collector-releases/releases/download/v0.88.0/otelcol-contrib_0.88.0_linux_amd64.tar.gz>
tar -xvzf otelcol-contrib_*.tar.gz

B. Configure Dual Exporters

Modify your config.yaml to send data to both Firetiger and Datadog:

exporters:
  otlphttp/firetiger:
    endpoint: "<https://firetiger-firetiger-dev-0-ingest-frontend-254294960595.us-central1.run.app>"
    headers:
      "User-Agent": "opentelemetry-collector"

  datadog:
    api:
      key: "${DD_API_KEY}"  # From Datadog dashboard
      site: "datadoghq.com"

service:
  pipelines:
    metrics:
      exporters: [otlphttp/firetiger, datadog]
    logs:
      exporters: [otlphttp/firetiger, datadog]
    traces:
      exporters: [otlphttp/firetiger, datadog]

C. Replace Datadog Receivers

Datadog Agent Method OpenTelemetry Equivalent
logs_config (file logs) filelog receiver
DogStatsD metrics statsd receiver
APM traces otlp receiver