Migrating from Datadog: A Practical Guide to Reducing Costs
Step-by-step guide to migrating away from Datadog while maintaining observability. Reduce costs by 70-90% without losing visibility.
Datadog is a powerful platform, but its costs can spiral quickly. Many organizations find themselves paying $50k, $100k, or even $500k+ per month - often for features they don't fully use. If you're looking to reduce costs while maintaining visibility, here's a practical migration guide.
Why Organizations Migrate
Cost Growth
Typical Datadog cost trajectory:
Year 1: $2,000/month (startup pricing)
Year 2: $8,000/month (growth + features)
Year 3: $25,000/month (more hosts, more data)
Year 4: $60,000/month (scale + enterprise tier)
Common triggers:
- Annual renewal with 40%+ increase
- Budget cuts requiring cost reduction
- Sticker shock after traffic growth
Feature Overlap
Many Datadog customers only actively use a fraction of what they pay for:
Commonly used:
✓ Log Management
✓ APM (basic tracing)
✓ Infrastructure monitoring
Often unused:
✗ Security monitoring
✗ Synthetics
✗ RUM
✗ Database monitoring
✗ Network monitoring
Migration Approaches
Option 1: Full Replacement
Replace Datadog entirely with alternatives:
Logs → 401 Clicks / Loki / Elasticsearch
APM → Jaeger / Tempo / SigNoz
Metrics → Prometheus / VictoriaMetrics
Dashboards → Grafana
Pros: Maximum cost savings (70-90%)
Cons: Most effort, potential gaps
Option 2: Partial Migration
Move high-volume/low-value to cheaper tools:
Debug logs → 401 Clicks (90% of volume)
Keep in Datadog: APM, critical dashboards
Pros: Moderate savings (40-60%), lower risk
Cons: Multiple tools to manage
Option 3: Optimization First
Reduce Datadog costs without migrating:
- Filter noise before ingestion
- Adjust retention policies
- Remove unused integrations
- Downgrade feature tiers
Pros: No migration effort
Cons: Limited savings (20-40%)
Step-by-Step Migration
Phase 1: Audit (Week 1-2)
1. Inventory current Datadog usage:
- Which features are actively used?
- Data volumes by source
- Dashboard/alert usage patterns
2. Document critical capabilities:
- Which dashboards are essential?
- What alerts are actively used?
- Who uses what features?
3. Calculate cost breakdown:
- Cost per feature
- Cost per data source
- Cost per team
Phase 2: Select Alternatives (Week 2-3)
For log management:
High volume, cost-sensitive → 401 Clicks
Self-hosted → Loki + Grafana
Enterprise features → Elastic Cloud
For APM/Tracing:
Simple needs → Jaeger
Full-featured → SigNoz, Tempo
Vendor-managed → Honeycomb
For Metrics:
Prometheus + Grafana (standard choice)
VictoriaMetrics (high cardinality)
InfluxDB (time-series focused)
Phase 3: Parallel Running (Week 3-6)
1. Set up new platform(s)
2. Configure dual shipping:
# Ship to both Datadog and new platform
logs → [Datadog, 401 Clicks]
traces → [Datadog, Jaeger]
metrics → [Datadog, Prometheus]
3. Verify data parity:
- Compare log counts
- Verify trace completeness
- Check metric accuracy
4. Recreate critical dashboards:
- Start with most-used dashboards
- Document what can't be replicated
- Train users on new interfaces
Phase 4: Gradual Cutover (Week 6-10)
Week 6: Move debug/info logs
- Lowest risk
- Highest volume
- Quick cost impact
Week 7: Move non-critical traces
- Keep APM for critical services
- Move background jobs, batch processes
Week 8: Move metrics
- Infrastructure metrics
- Custom business metrics
Week 9: Move remaining logs
- Error logs
- Audit logs
Week 10: Final cutover
- Disable Datadog agents
- Cancel/downgrade contract
Technical Migration Details
Migrating Logs
# Before: Datadog agent
datadog:
logs_enabled: true
logs_config:
container_collect_all: true
# After: Vector to 401 Clicks
sources:
docker_logs:
type: docker_logs
sinks:
401clicks:
type: http
inputs: [docker_logs]
uri: https://ingest.401clicks.com/logs
encoding:
codec: json
auth:
strategy: bearer
token: ${API_KEY}
Migrating Traces
# Before: Datadog APM
DD_TRACE_ENABLED=true
DD_APM_ENABLED=true
DD_TRACE_AGENT_URL=http://localhost:8126
# After: OpenTelemetry to Jaeger/401 Clicks
OTEL_TRACES_EXPORTER=otlp
OTEL_EXPORTER_OTLP_ENDPOINT=http://collector:4317
OTEL_SERVICE_NAME=my-service
Migrating Dashboards
# Export Datadog dashboards via API
curl -X GET "https://api.datadoghq.com/api/v1/dashboard/{dashboard_id}" \
-H "DD-API-KEY: ${DD_API_KEY}" \
-H "DD-APPLICATION-KEY: ${DD_APP_KEY}"
# Convert to Grafana format (manual or tools like grafana-dash-gen)
# Or rebuild in new platform using the JSON as reference
Handling the Gaps
Datadog Features Hard to Replace
Feature Alternative Approach
─────────────────────────────────────────────
Unified platform Accept multiple tools
Code-level APM Jaeger + manual spans
Log patterns Build queries manually
Dashboards Grafana (learning curve)
Correlations Manual correlation IDs
Mitigation Strategies
- Correlation IDs - Ensure request IDs flow through all systems
- Standardized naming - Use consistent service/resource names
- Documentation - Write runbooks for common investigations
- Training - Invest in team learning for new tools
Cost Comparison
Scenario: 50 hosts, 200GB logs/day, APM enabled
Datadog:
Infrastructure: $1,125/month (50 × $23)
Logs (200GB × 30): ~$20,000/month
APM (50 hosts): ~$1,750/month
Total: ~$23,000/month
Alternative Stack:
401 Clicks (logs): $99/month (Scale plan, 100 GB/mo)
Additional log volume: $1/GB overage
Prometheus + Grafana: $500/month (managed)
Jaeger (traces): $300/month (managed)
Total: ~$900-1,500/month depending on volume
Note: 401 Clicks is ideal for teams with moderate log
volumes. For 200GB/day you may need to filter noise
before ingestion or use a hybrid approach (see above).
Savings: 70-90% depending on volume and approach
Migration to 401 Clicks
401 Clicks handles the log management portion of your migration:
- Full-text search with regex and field queries
- JSON log ingestion via HTTP API - works with any log shipper
- Predictable flat-rate pricing (no surprise bills)
- Real-time live tail and alerting built in
# Migrate logs to 401 Clicks
# 1. Get your API key from 401 Clicks dashboard
# 2. Update your log shipping:
# Laravel
LOG_CHANNEL=401clicks
FOUROHONE_CLICKS_API_KEY=your_key
# Or via log forwarder
vector:
sinks:
401clicks:
type: http
uri: https://ingest.401clicks.com/logs
auth:
strategy: bearer
token: ${FOUROHONE_CLICKS_API_KEY}
Common Migration Mistakes
- Big bang migration - Go gradual, not all at once
- Skipping parallel run - Always verify before cutting over
- Ignoring team training - New tools need learning time
- Under-estimating dashboard rebuild - Budget time for this
- Forgetting alerts - Migrate alerting rules explicitly
Conclusion
Migrating from Datadog is a significant project but can yield massive cost savings - typically 70-90% for similar functionality. The key is methodical execution: audit thoroughly, run in parallel, migrate gradually, and invest in team training.
Start with the highest-volume, lowest-risk data (debug logs), prove the new platform works, and expand from there. Within 2-3 months, you can complete a full migration and significantly reduce your observability spend.
Admin
Published on January 10, 2026