Overview
The OpenTelemetry Datadog Receiver allows you to receive metrics from Datadog Agents without modifying your applications. This is useful for:
- Gradual migration: Continue using Datadog Agent while migrating to OpenTelemetry
- DogStatsD metrics: Receive custom DogStatsD metrics without changing application code
This approach is a bridge solution. For long-term use, we recommend migrating to native OpenTelemetry instrumentation for better integration and standardization.
Prerequisites
Before you begin, ensure you have:
- OpenTelemetry Collector installed and running
- Datadog Agent installed (if forwarding from existing agents)
- Access to modify configuration files and environment variables
- Network connectivity between Datadog Agent and OpenTelemetry Collector
Step 1: Configure the Datadog Receiver
Add the Datadog receiver to your OpenTelemetry Collector configuration to accept Datadog Agent traffic.
Add to your otel-collector-config.yaml:
receivers:
datadog:
endpoint: 0.0.0.0:8125
read_timeout: 60s
This configures the receiver to:
- Listen on all interfaces (
0.0.0.0) on port8125(default Datadog DogStatsD port) - Wait up to 60 seconds for data before timing out
Step 2: Configure the Exporter
You can skip this step if you followed the steps in OpenTelemetry Collector Installation to configure the OpenTelemetry Collector.
Set up the OTLP exporter to send data to SigNoz:
exporters:
otlp:
endpoint: ingest.<region>.signoz.cloud:443
headers:
signoz-ingestion-key: <SIGNOZ_INGESTION_KEY>
tls:
insecure: false
Replace:
<region>: Your SigNoz Cloud region (us,eu, orin)<SIGNOZ_INGESTION_KEY>: Your ingestion key from Settings → Ingestion Settings
Step 3: Update the Pipelines
Integrate the Datadog receiver into your pipelines:
service:
pipelines:
metrics:
receivers: [datadog, otlp]
processors: [batch]
exporters: [otlp]
Step 4: Configure the Datadog Agent
Configure your Datadog Agent to forward data to the OpenTelemetry Collector.
Option A: Forward to Both SigNoz and Datadog
If you want to send data to both SigNoz (via OTel Collector) and Datadog during migration:
Using environment variable:
DD_ADDITIONAL_ENDPOINTS='{"http://<OTEL_COLLECTOR_HOST>:8125": ["signoz"]}'
Or update datadog.yaml:
additional_endpoints:
"http://<OTEL_COLLECTOR_HOST>:8125":
- "signoz"
Replace <OTEL_COLLECTOR_HOST> with the hostname or IP where your OTel Collector is running (e.g., localhost, otel-collector.default.svc.cluster.local).
Option B: Forward Only to SigNoz
To send data exclusively to SigNoz (stop sending to Datadog):
Using environment variable:
DD_DD_URL=http://<OTEL_COLLECTOR_HOST>:8125
Or update datadog.yaml:
dd_url: http://<OTEL_COLLECTOR_HOST>:8125
Step 5: Restart Services
After making configuration changes:
Restart the OpenTelemetry Collector
Restart the Datadog Agent
Validate
Verify data is flowing through the Datadog receiver to SigNoz:
Verify in SigNoz:
- Navigate to Metrics to see DogStatsD metrics
- Check that metrics match your Datadog data
Compare with Datadog:
- Verify the same metrics appear in both platforms
Troubleshooting
Connection refused errors
If the Datadog Agent can't connect to the OTel Collector:
Check port binding: Verify the Collector is listening on port 8125:
netstat -tlnp | grep 8125Check firewall: Ensure port 8125 is open between Agent and Collector.
Verify endpoint: Confirm the Agent is configured with the correct Collector address.
No data appearing in SigNoz
Check Collector logs: Look for errors in the OTel Collector logs.
Verify pipeline configuration: Ensure the
datadogreceiver is listed in the appropriate pipeline(s).
Metrics not appearing
Check metric type: The Datadog receiver may not support all metric types.
Verify DogStatsD configuration: Ensure DogStatsD is properly configured in both Agent and Collector.
Check metric names: Metrics may be renamed during translation to OTel format.
Limitations
Be aware of these limitations when using the Datadog receiver:
- Not all features supported: Some Datadog-specific features may not translate to OpenTelemetry
- Metric types: Some Datadog metric types may be converted differently
- Performance: Adding a hop (DD Agent → OTel Collector → SigNoz) adds latency
Next Steps
The Datadog receiver is a bridge solution. For long-term benefits, consider migrating to native OpenTelemetry: