Dynatrace to Datadog Migration Guide
Complete step-by-step guide to migrate from Dynatrace to Datadog monitoring. This guide covers checking Dynatrace, uninstalling it, installing Datadog, configuring APM and service monitoring, and verifying the setup.
Prerequisites​
- Root or Administrator privileges
- Datadog API key
- Proxy server details (host, port, optional credentials)
- Datadog site configuration (datadoghq.com, datadoghq.eu, etc.)
Step 1: Check Dynatrace Installation​
1.1 Check if Dynatrace is Installed​
Check if Dynatrace service is running:
systemctl status dynatrace
# or
service dynatrace status
Check Dynatrace process:
ps aux | grep dynatrace
Check Dynatrace installation directory:
ls -la /opt/dynatrace/
# or
find / -name "*dynatrace*" -type d 2>/dev/null
1.2 Get Dynatrace Service Details​
# List all Dynatrace services
systemctl list-units --type=service | grep -i dynatrace
# Get service status details
systemctl status dynatrace-*.service
# Check enabled status
systemctl is-enabled dynatrace
1.3 Check Dynatrace Configuration​
# View Dynatrace configuration
cat /etc/dynatrace/dynatrace.conf
# or
find /opt/dynatrace -name "*.conf" -exec cat {} \;
# Check environment variables
env | grep -i dynatrace
1.4 Get Dynatrace Version​
# Check version
/opt/dynatrace/dynatrace --version
# or
find /opt/dynatrace -name "*.txt" | xargs grep -i version 2>/dev/null
# Check installed packages
rpm -qa | grep -i dynatrace
# or on Debian/Ubuntu
dpkg -l | grep -i dynatrace
Step 2: Find All Files Related to Dynatrace​
2.1 Find All Dynatrace Files​
Find all Dynatrace files and directories:
# Search entire filesystem
find / -name "*dynatrace*" 2>/dev/null
# Limit to common locations
find /opt /etc /var /home -name "*dynatrace*" 2>/dev/null
# Search for specific file types
find / -type f -name "*.dynatrace" 2>/dev/null
find / -type f -name "*dynatrace*.conf" 2>/dev/null
find / -type f -name "*dynatrace*.log" 2>/dev/null
2.2 Get File Listing and Sizes​
# List with sizes
find / -name "*dynatrace*" -exec ls -lh {} \; 2>/dev/null
# Sort by size
find / -name "*dynatrace*" -type f -exec ls -lhS {} \; 2>/dev/null | head -20
# Count files
find / -name "*dynatrace*" 2>/dev/null | wc -l
2.3 Check Configuration Files​
# Find configuration files
find /etc -name "*dynatrace*" -type f 2>/dev/null
# Find in common config locations
ls -la /etc/dynatrace* 2>/dev/null
ls -la /etc/default/dynatrace* 2>/dev/null
2.4 Check Log Files​
# Find log files
find /var/log -name "*dynatrace*" 2>/dev/null
find /var/log -path "*dynatrace*" 2>/dev/null
# Check log directory size
du -sh /var/log/dynatrace* 2>/dev/null
2.5 Check Package Information​
# RPM-based systems (CentOS, RHEL)
rpm -ql dynatrace 2>/dev/null
rpm -qi dynatrace 2>/dev/null
# Debian-based systems (Ubuntu, Debian)
dpkg -L dynatrace 2>/dev/null
dpkg -s dynatrace 2>/dev/null
# Listing all files installed by package
rpm -qa | grep dynatrace
dpkg -l | grep dynatrace
2.6 Create Backup List​
# Export file list before uninstall
find / -name "*dynatrace*" -type f 2>/dev/null > /tmp/dynatrace-files-backup.txt
# View the list
cat /tmp/dynatrace-files-backup.txt
# Get total count
wc -l /tmp/dynatrace-files-backup.txt
Step 3: Uninstall Dynatrace​
3.1 Stop Dynatrace Service​
# Stop the main Dynatrace service
sudo systemctl stop dynatrace
# Stop all Dynatrace services
sudo systemctl stop dynatrace-*.service
# Verify services are stopped
sudo systemctl status dynatrace
3.2 Disable Service Auto-start​
# Disable Dynatrace service
sudo systemctl disable dynatrace
# Verify disabled
sudo systemctl is-enabled dynatrace
3.3 Uninstall Dynatrace Package​
For RPM-based Systems (CentOS, RHEL):​
# List installed Dynatrace packages
rpm -qa | grep dynatrace
# Uninstall
sudo rpm -e dynatrace
# or with specific package name
sudo rpm -e dynatrace-agent
sudo rpm -e dynatrace-oneagent
For Debian-based Systems (Ubuntu, Debian):​
# List installed Dynatrace packages
dpkg -l | grep dynatrace
# Uninstall
sudo apt-get remove dynatrace -y
# or
sudo dpkg -r dynatrace
3.4 Remove Configuration and Data Files​
# Remove Dynatrace directories
sudo rm -rf /opt/dynatrace
sudo rm -rf /etc/dynatrace*
sudo rm -rf /var/log/dynatrace*
# Remove from common locations
sudo rm -rf /usr/local/dynatrace*
sudo rm -rf /var/dynatrace*
# Remove configuration from home directories
sudo find /home -name ".dynatrace*" -type d -exec rm -rf {} \; 2>/dev/null
3.5 Remove Package Repository (if installed)​
# For APT (Ubuntu/Debian)
sudo rm /etc/apt/sources.list.d/dynatrace*.list
sudo apt-get update
# For YUM/DNF (CentOS/RHEL)
sudo rm /etc/yum.repos.d/dynatrace*.repo
sudo yum clean all
3.6 Verify Complete Removal​
# Verify service is gone
systemctl list-units --type=service | grep dynatrace
# Verify package removed
rpm -qa | grep dynatrace
dpkg -l | grep dynatrace
# Search for remaining files
find / -name "*dynatrace*" 2>/dev/null
# Check environment
env | grep -i dynatrace
Step 4: Check Service Running Status​
4.1 Check System Status​
# Get system uptime
uptime
# Check system resources
free -h
df -h
# Check CPU info
nproc
cat /proc/cpuinfo | head -10
4.2 Check if Any Services Are Down​
# List all active services
systemctl list-units --type=service --state=active
# List all services with status
systemctl list-units --type=service --no-pager
# Check for failed services
systemctl list-units --type=service --state=failed
4.3 Check Network Services​
# Check listening ports
sudo netstat -tlnp
# or
sudo ss -tlnp
# Check DNS
nslookup google.com
dig google.com
# Check network connectivity
ip addr show
4.4 Check Important System Services​
# Check critical services
sudo systemctl status sshd
sudo systemctl status networking
sudo systemctl status docker (if applicable)
# Check NTP/time sync
timedatectl status
# Check system logs
sudo journalctl -xe --no-pager | tail -50
Step 5: Clear Cache Files Related to Dynatrace​
5.1 Clear Package Manager Cache​
# APT cache (Ubuntu/Debian)
sudo apt-get clean
sudo apt-get autoclean
sudo apt-get autoremove
# YUM cache (CentOS/RHEL)
sudo yum clean all
sudo yum clean metadata
5.2 Clear Application Cache​
# Remove Dynatrace cache directories
sudo rm -rf /var/cache/dynatrace* 2>/dev/null
sudo rm -rf ~/.dynatrace* 2>/dev/null
sudo rm -rf /tmp/dynatrace* 2>/dev/null
sudo rm -rf /var/tmp/dynatrace* 2>/dev/null
# Clear Java cache (if Dynatrace used Java)
sudo rm -rf /root/.java 2>/dev/null
5.3 Clear Temporary Files​
# Clean /tmp directory
sudo rm -rf /tmp/*
# Clean systemd cache
sudo systemctl daemon-reload
# Clear journal (optional, keep last 100M)
sudo journalctl --vacuum=size=100M
5.4 Clear DNS Cache​
# Clear systemd DNS cache
sudo systemctl restart systemd-resolved
# Flush resolver cache
sudo resolvectl flush-caches
5.5 Verify Cache Cleared​
# Check for remaining Dynatrace files
find / -name "*dynatrace*" 2>/dev/null
# Check disk space freed
df -h
# Verify cleanup
du -sh /tmp /var/tmp /var/cache 2>/dev/null
Step 6: Install Datadog Agent​
6.1 Download Datadog Agent​
For RPM-based Systems (CentOS, RHEL):​
# Set your API key and site
export DD_API_KEY="your_api_key_here"
export DD_SITE="datadoghq.com"
# Download installer
curl https://s3.amazonaws.com/dd-agent/scripts/install_agent.sh -o /tmp/install_agent.sh
# Or download directly
wget https://yum.datadoghq.com/stable/7/x86_64/Packages/datadog-agent-7.XX.X-1.x86_64.rpm -O /tmp/datadog-agent.rpm
For Debian-based Systems (Ubuntu, Debian):​
# Set your API key and site
export DD_API_KEY="your_api_key_here"
export DD_SITE="datadoghq.com"
# Download installer
curl https://s3.amazonaws.com/dd-agent/scripts/install_agent.sh -o /tmp/install_agent.sh
# Or add repository
DD_AGENT_MAJOR_VERSION=7 DD_API_KEY=$DD_API_KEY DD_SITE=$DD_SITE bash -c "$(curl -L https://s3.amazonaws.com/dd-agent/scripts/install_agent.sh)"
6.2 Install Datadog Agent​
RPM Installation:​
# Install from downloaded RPM
sudo rpm -ivh /tmp/datadog-agent-7.XX.X-1.x86_64.rpm
# Or using yum
sudo yum install -y datadog-agent
Debian Installation:​
# Add Datadog repository
sudo sh -c 'echo "deb [signed-by=/usr/share/keyrings/datadog-archive-keyring.gpg] https://apt.datadoghq.com/ stable 7" > /etc/apt/sources.list.d/datadog.list'
# Add GPG key
curl https://keys.datadoghq.com/DATADOG_APT_KEY_CURRENT.public | sudo apt-key add -
# Update repository
sudo apt-get update
# Install agent
sudo apt-get install -y datadog-agent
6.3 Install from Installation Script​
# Run installation script
DD_API_KEY=$DD_API_KEY DD_SITE=$DD_SITE bash /tmp/install_agent.sh
# Or use one-liner
DD_AGENT_MAJOR_VERSION=7 DD_API_KEY="your_api_key" DD_SITE="datadoghq.com" bash -c "$(curl -L https://s3.amazonaws.com/dd-agent/scripts/install_agent.sh)"
6.4 Verify Installation​
# Check if agent package is installed
rpm -qa | grep datadog
dpkg -l | grep datadog
# Check installation directory
ls -la /opt/datadog-agent/
# Check service installed
systemctl list-units --type=service | grep datadog
# Check for agent binary
which datadog-agent
ls -la /usr/local/bin/datadog-agent
Step 7: Check Datadog Status​
7.1 Check Service Status​
# Check if service is running
sudo systemctl status datadog-agent
# Check service enabled
sudo systemctl is-enabled datadog-agent
# Check for Datadog processes
ps aux | grep datadog
# Check Datadog process in detail
pgrep -a datadog
7.2 Check Agent Health​
# Run agent status command
sudo datadog-agent status
# Or using full path
sudo /opt/datadog-agent/bin/agent/agent status
# Check agent version
sudo datadog-agent version
# Get detailed agent info
sudo datadog-agent flare --local
7.3 Check Agent Logs​
# View agent logs
sudo tail -50 /var/log/datadog/agent.log
# Watch logs in real-time
sudo tail -f /var/log/datadog/agent.log
# Get log file size
ls -lh /var/log/datadog/agent.log
# Check for errors in logs
sudo grep ERROR /var/log/datadog/agent.log | tail -20
7.4 Check Configuration​
# View main configuration
sudo cat /etc/datadog-agent/datadog.yaml | head -30
# Check if API key is set
sudo grep -i "api_key:" /etc/datadog-agent/datadog.yaml
# Check enabled features
sudo grep -i "enabled:" /etc/datadog-agent/datadog.yaml
7.5 Verify Agent Metrics​
# Check if metrics are being collected
sudo datadog-agent status | grep -A 20 "Metrics"
# Check running checks
sudo datadog-agent status | grep -A 20 "Running Checks"
# Test agent connectivity
sudo datadog-agent check datadog_checks_base
Step 8: Check Network Connectivity to Datadog API via Proxy​
8.1 Test Basic Connectivity to Datadog API​
# Test with curl
curl -I https://api.datadoghq.com/api/v1/validate
# Test with verbose output
curl -v https://api.datadoghq.com/api/v1/validate
# Test with timeout
curl --connect-timeout 10 https://api.datadoghq.com/api/v1/validate
8.2 Test DNS Resolution​
# Test DNS for Datadog API
nslookup api.datadoghq.com
# Using dig command
dig api.datadoghq.com
# Using host command
host api.datadoghq.com
# Check with specific nameserver
nslookup api.datadoghq.com 8.8.8.8
8.3 Test Proxy Connectivity​
# Set proxy environment variables
export HTTP_PROXY="http://proxy_host:proxy_port"
export HTTPS_PROXY="http://proxy_host:proxy_port"
# Test with proxy
curl -x http://proxy_host:proxy_port https://api.datadoghq.com/api/v1/validate
# Test with proxy authentication (if required)
export HTTP_PROXY="http://username:password@proxy_host:proxy_port"
curl -x http://username:password@proxy_host:proxy_port https://api.datadoghq.com/api/v1/validate
8.4 Test Port Connectivity​
# Test HTTPS port (443)
nc -zv api.datadoghq.com 443
# Using telnet
telnet api.datadoghq.com 443
# Using ss command
ss -tan | grep 443
# Using netstat
sudo netstat -tulpn | grep 443
8.5 Test Proxy Port Connectivity​
# Test proxy port
nc -zv proxy_host proxy_port
# Telnet to proxy
telnet proxy_host proxy_port
# Test if proxy is accessible
curl -x http://proxy_host:proxy_port http://www.google.com -I
8.6 Configure Datadog Agent to Use Proxy​
# Edit Datadog configuration
sudo nano /etc/datadog-agent/datadog.yaml
# or
sudo vi /etc/datadog-agent/datadog.yaml
# Add proxy configuration:
# proxy:
# http: http://proxy_host:proxy_port
# https: https://proxy_host:proxy_port
# no_proxy:
# - localhost
# - 127.0.0.1
8.7 Test Agent Connectivity Through Proxy​
# Restart agent for proxy changes
sudo systemctl restart datadog-agent
# Check if agent is running
sudo systemctl status datadog-agent
# View logs for connection info
sudo tail -50 /var/log/datadog/agent.log
# Search for proxy connection messages
sudo grep -i "proxy" /var/log/datadog/agent.log
8.8 Full Connectivity Test Script​
# Create test script
cat > /tmp/test-datadog-connectivity.sh << 'EOF'
#!/bin/bash
echo "=== Datadog Connectivity Test ==="
echo ""
# Test DNS
echo "1. Testing DNS resolution..."
nslookup api.datadoghq.com
echo ""
# Test direct connection
echo "2. Testing direct connection..."
curl --connect-timeout 5 -I https://api.datadoghq.com/api/v1/validate
echo ""
# Test via proxy
if [ ! -z "$HTTP_PROXY" ]; then
echo "3. Testing via proxy..."
curl -x $HTTP_PROXY --connect-timeout 5 -I https://api.datadoghq.com/api/v1/validate
echo ""
fi
# Test port
echo "4. Testing port 443..."
nc -zv api.datadoghq.com 443
echo ""
# Test agent
echo "5. Testing agent status..."
sudo systemctl status datadog-agent
echo ""
# Check logs
echo "6. Recent agent logs..."
sudo tail -20 /var/log/datadog/agent.log
EOF
chmod +x /tmp/test-datadog-connectivity.sh
sudo /tmp/test-datadog-connectivity.sh
Step 9: Enable APM and Service Monitoring Configuration​
9.1 Enable APM Configuration​
Edit the Datadog configuration file and enable APM:
# Edit configuration
sudo nano /etc/datadog-agent/datadog.yaml
Find or add the APM section:
apm_config:
enabled: true
apm_non_local_traffic: true
Use sed to enable APM:
# Enable APM (uncomment and set to true)
sudo sed -i 's/# apm_config:/apm_config:/' /etc/datadog-agent/datadog.yaml
sudo sed -i '/apm_config:/,/^[^ ]/ s/# enabled: false/enabled: true/' /etc/datadog-agent/datadog.yaml
# Or more direct approach
sudo sed -i '/apm_config:/a\ enabled: true\n apm_non_local_traffic: true' /etc/datadog-agent/datadog.yaml
9.2 Enable Service Monitoring Configuration​
Edit the datadog.yaml file to enable service monitoring:
service_monitoring_config:
enabled: true
Use sed to enable service monitoring:
# Add service_monitoring_config section if it doesn't exist
sudo sed -i '/^logs_enabled:/a\
\
service_monitoring_config:\
enabled: true' /etc/datadog-agent/datadog.yaml
# Or if section exists, enable it
sudo sed -i '/service_monitoring_config:/,/enabled:/ s/enabled: false/enabled: true/' /etc/datadog-agent/datadog.yaml
# Alternative for macOS (BSD sed)
sudo sed -i '' '/service_monitoring_config:/,/enabled:/ s/enabled: false/enabled: true/' /etc/datadog-agent/datadog.yaml
9.3 Using sed with Backup​
# Enable APM with backup
sudo sed -i.bak '/apm_config:/,/enabled:/ s/enabled: false/enabled: true/' /etc/datadog-agent/datadog.yaml
# Enable service monitoring with backup
sudo sed -i.bak '/service_monitoring_config:/,/enabled:/ s/enabled: false/enabled: true/' /etc/datadog-agent/datadog.yaml
9.4 Enable Both APM and Service Monitoring (Combined)​
# Create a combined configuration update
cat >> /tmp/datadog-updates.txt << 'EOF'
apm_config:
enabled: true
apm_non_local_traffic: true
service_monitoring_config:
enabled: true
EOF
# Append to configuration (if sections don't exist)
sudo cat /tmp/datadog-updates.txt >> /etc/datadog-agent/datadog.yaml
9.5 Verify sed Changes​
# Check APM configuration
sudo grep -A 3 "apm_config:" /etc/datadog-agent/datadog.yaml
# Check service monitoring configuration
sudo grep -A 3 "service_monitoring_config:" /etc/datadog-agent/datadog.yaml
# View entire configuration
sudo cat /etc/datadog-agent/datadog.yaml | grep -E "(apm_config|service_monitoring_config)" -A 2
# Preview before applying
sudo sed -n '/apm_config:/,/service_monitoring_config:/p' /etc/datadog-agent/datadog.yaml
9.6 Enable Both with Single sed Command​
# Linux version
sudo sed -i '/^logs_enabled:/ a\
\
apm_config:\
enabled: true\
apm_non_local_traffic: true\
\
service_monitoring_config:\
enabled: true' /etc/datadog-agent/datadog.yaml
# Validate configuration after
sudo grep -E "(apm|service_monitoring)" /etc/datadog-agent/datadog.yaml -A 2
Step 10: Check Datadog Configuration​
10.1 View Main Configuration​
# View entire configuration
sudo cat /etc/datadog-agent/datadog.yaml
# View with line numbers
sudo cat -n /etc/datadog-agent/datadog.yaml
# View specific sections
sudo grep -E "^[a-z_]+:" /etc/datadog-agent/datadog.yaml
10.2 Check Critical Settings​
# Check API key is configured
sudo grep -i "api_key:" /etc/datadog-agent/datadog.yaml
# Check site configuration
sudo grep -i "^site:" /etc/datadog-agent/datadog.yaml
# Check hostname
sudo grep -i "^hostname:" /etc/datadog-agent/datadog.yaml
# Check tags
sudo grep -i "^tags:" /etc/datadog-agent/datadog.yaml -A 5
10.3 Check Feature Configurations​
# Check APM enabled
sudo grep -i "apm_config:" /etc/datadog-agent/datadog.yaml -A 5
# Check service monitoring enabled
sudo grep -i "service_monitoring_config:" /etc/datadog-agent/datadog.yaml -A 5
# Check logs enabled
sudo grep -i "logs_enabled:" /etc/datadog-agent/datadog.yaml
# Check process monitoring
sudo grep -i "process_config:" /etc/datadog-agent/datadog.yaml -A 5
10.4 Check Integration Configurations​
# List available integrations
ls -la /etc/datadog-agent/conf.d/
# Check specific integration (e.g., system-probe)
sudo cat /etc/datadog-agent/conf.d/system-probe.d/conf.yaml 2>/dev/null
# Check all enabled integrations
ls -la /etc/datadog-agent/conf.d/*.d/conf.yaml
10.5 Validate Configuration​
# Validate configuration syntax
sudo datadog-agent configcheck
# Show configuration validation output
sudo /opt/datadog-agent/bin/agent/agent configcheck
# Check for errors
sudo datadog-agent health
# Get full status with configuration
sudo datadog-agent status | head -50
10.6 Check Proxy Configuration​
# View proxy settings
sudo grep -i "proxy:" /etc/datadog-agent/datadog.yaml -A 10
# Check if proxy is configured
sudo grep -E "^\s+http:|^\s+https:" /etc/datadog-agent/datadog.yaml
10.7 Compare with Default Configuration​
# Find default/example configuration
find /opt/datadog-agent -name "*.yaml.example" -o -name "*.yaml.default"
# Compare current with default
diff /etc/datadog-agent/datadog.yaml /opt/datadog-agent/etc/datadog.yaml.example 2>/dev/null | head -50
# Export current config for documentation
sudo cat /etc/datadog-agent/datadog.yaml > /tmp/datadog-config-backup-$(date +%Y%m%d).yaml
Step 11: Restart Datadog Agent​
11.1 Restart the Agent Service​
# Restart Datadog agent service
sudo systemctl restart datadog-agent
# Verify service restarted
sudo systemctl status datadog-agent
11.2 Restart and Verify Status​
# Restart with status check
sudo systemctl restart datadog-agent && sleep 3 && sudo systemctl status datadog-agent
11.3 Check Agent Process After Restart​
# Check if agent process is running
ps aux | grep datadog
# Count datadog processes
pgrep -c datadog
# Get process details
pgrep -a datadog
11.4 Check Logs After Restart​
# View recent logs
sudo tail -100 /var/log/datadog/agent.log
# Search for startup messages
sudo grep "Starting" /var/log/datadog/agent.log | tail -5
# Check for any errors
sudo grep "ERROR\|WARN" /var/log/datadog/agent.log | tail -10
11.5 Verify Agent is Reporting​
# Get agent status with running checks
sudo datadog-agent status
# Check running checks
sudo datadog-agent status | grep -A 50 "Running Checks"
# Check metrics collection
sudo datadog-agent status | grep -A 20 "Metrics"
11.6 Verify Configuration is Applied​
# Check APM status
sudo datadog-agent status | grep -i "apm"
# Check system probe status
sudo datadog-agent status | grep -i "system probe"
# View integration status
sudo datadog-agent status | grep -i "checks"
11.7 Test API Connectivity After Restart​
# Test connectivity to Datadog API
curl -I https://api.datadoghq.com/api/v1/validate
# Test with proxy if configured
curl -x $HTTP_PROXY -I https://api.datadoghq.com/api/v1/validate
# Check agent logs for connectivity messages
sudo grep "api" /var/log/datadog/agent.log | tail -10
11.8 Full Restart and Verification Script​
# Create comprehensive verification script
cat > /tmp/restart-and-verify.sh << 'EOF'
#!/bin/bash
echo "=== Datadog Agent Restart and Verification ==="
echo ""
# Restart service
echo "1. Restarting Datadog agent..."
sudo systemctl restart datadog-agent
sleep 3
echo ""
# Check service status
echo "2. Checking service status..."
sudo systemctl status datadog-agent
echo ""
# Check process
echo "3. Checking agent process..."
ps aux | grep "[d]atadog"
echo ""
# Check logs
echo "4. Recent log entries..."
sudo tail -20 /var/log/datadog/agent.log
echo ""
# Check status command
echo "5. Agent status..."
sudo datadog-agent status | head -30
echo ""
# Check configuration
echo "6. Configuration verification..."
sudo grep -E "(apm_config|service_monitoring_config)" /etc/datadog-agent/datadog.yaml -A 2
echo ""
# Check API connectivity
echo "7. Testing API connectivity..."
curl --connect-timeout 5 -I https://api.datadoghq.com/api/v1/validate
echo ""
echo "=== Verification Complete ==="
EOF
chmod +x /tmp/restart-and-verify.sh
sudo /tmp/restart-and-verify.sh
11.9 Enable Service Auto-start​
# Enable Datadog service to start on boot
sudo systemctl enable datadog-agent
# Verify enabled
sudo systemctl is-enabled datadog-agent
# Check enabled services
systemctl list-unit-files | grep datadog
11.10 Monitor Agent for Issues​
# Watch agent logs for issues
sudo tail -f /var/log/datadog/agent.log
# Monitor for errors in real-time
sudo grep -f /dev/stdin /var/log/datadog/agent.log << 'EOF' &
ERROR
WARN
FAIL
EOF
# Check system resource usage
while true; do pgrep -a datadog && ps aux | grep "[d]atadog"; sleep 5; done
Complete Migration Summary​
Migration Checklist​
- Step 1: Check Dynatrace installation
- Step 2: Find all Dynatrace files
- Step 3: Uninstall Dynatrace
- Step 4: Verify system services running
- Step 5: Clear Dynatrace cache
- Step 6: Install Datadog agent
- Step 7: Verify Datadog installation
- Step 8: Test Datadog API connectivity via proxy
- Step 9: Enable APM and service monitoring
- Step 10: Verify Datadog configuration
- Step 11: Restart and verify agent
Post-Migration Verification​
# Final comprehensive check
cat > /tmp/final-check.sh << 'EOF'
#!/bin/bash
echo "=== POST-MIGRATION VERIFICATION ==="
# 1. Verify Dynatrace removed
echo "1. Dynatrace removal check..."
find / -name "*dynatrace*" 2>/dev/null | wc -l
echo "Should be 0 files"
echo ""
# 2. Verify Datadog installed
echo "2. Datadog installation check..."
rpm -qa | grep datadog || dpkg -l | grep datadog
echo ""
# 3. Verify Datadog running
echo "3. Datadog service check..."
sudo systemctl status datadog-agent | grep -E "active|inactive"
echo ""
# 4. Verify configuration
echo "4. Configuration check..."
sudo grep -c "enabled: true" /etc/datadog-agent/datadog.yaml
echo "Should have multiple 'enabled: true' entries"
echo ""
# 5. Verify connectivity
echo "5. API connectivity check..."
curl --connect-timeout 5 -s -o /dev/null -w "%{http_code}\n" https://api.datadoghq.com/api/v1/validate
echo "Should return 200"
echo ""
echo "=== MIGRATION COMPLETE ==="
EOF
chmod +x /tmp/final-check.sh
sudo /tmp/final-check.sh
Quick Reference​
Critical Commands​
# Check Dynatrace
systemctl status dynatrace
# Find Dynatrace files
find / -name "*dynatrace*" 2>/dev/null
# Uninstall Dynatrace
sudo systemctl stop dynatrace && sudo rpm -e dynatrace && sudo rm -rf /opt/dynatrace /etc/dynatrace*
# Install Datadog
DD_API_KEY="your_key" DD_SITE="datadoghq.com" bash -c "$(curl -L https://s3.amazonaws.com/dd-agent/scripts/install_agent.sh)"
# Enable APM and Service Monitoring
sudo sed -i '/apm_config:/,/enabled:/ s/enabled: false/enabled: true/' /etc/datadog-agent/datadog.yaml
sudo sed -i '/service_monitoring_config:/,/enabled:/ s/enabled: false/enabled: true/' /etc/datadog-agent/datadog.yaml
# Restart and verify
sudo systemctl restart datadog-agent && sudo systemctl status datadog-agent
Related Documentation​
Support and Troubleshooting​
If you encounter issues during migration:
- Check logs:
sudo tail -f /var/log/datadog/agent.log - Verify configuration:
sudo datadog-agent configcheck - Test connectivity:
curl https://api.datadoghq.com/api/v1/validate - Restart service:
sudo systemctl restart datadog-agent
For persistent issues, create a Datadog flare: sudo datadog-agent flare