Skip to main content

Datadog

Oodle ingests metrics, logs, and traces (APM) from the Datadog agent. This guide covers all supported signals and configuration methods.

The quickest way to get started is through the Datadog integration tile on the Settings page — it generates the exact configuration for your instance.

Datadog Integration

Supported signals

SignalDual-ship env varSingle-ship env var
MetricsDD_ADDITIONAL_ENDPOINTSDD_DD_URL + DD_API_KEY
LogsDD_LOGS_CONFIG_ADDITIONAL_ENDPOINTSDD_LOGS_CONFIG_DD_URL
TracesDD_APM_ADDITIONAL_ENDPOINTSDD_APM_DD_URL
note

The endpoint URL and API key for your instance are shown in the Datadog tile on the Settings → Integrations page.

Dual-shipping (Datadog + Oodle)

Send data to both Datadog and Oodle simultaneously.

Datadog Helm chart

Add the following to your Helm values.yaml for the Datadog Helm chart:

datadog:
env:
# Metrics
- name: DD_ADDITIONAL_ENDPOINTS
value: '{"<oodle_metrics_endpoint>": ["<oodle_api_key>"]}'
# Logs
- name: DD_LOGS_CONFIG_ADDITIONAL_ENDPOINTS
value: '[{"api_key": "<oodle_api_key>", "Host": "<oodle_logs_host>", "Port": 443, "is_reliable": false}]'
- name: DD_LOGS_CONFIG_FORCE_USE_HTTP
value: 'true'
# APM / Traces
- name: DD_APM_ADDITIONAL_ENDPOINTS
value: '{"<oodle_traces_endpoint>": ["<oodle_api_key>"]}'

clusterAgent:
env:
# Metrics (cluster agent also needs this)
- name: DD_ADDITIONAL_ENDPOINTS
value: '{"<oodle_metrics_endpoint>": ["<oodle_api_key>"]}'

Then install or upgrade:

helm repo add --force-update datadog \
https://helm.datadoghq.com && \
helm upgrade --install datadog-agent datadog/datadog \
--values values.yaml

Datadog Operator

Apply the following DatadogAgent resource:

apiVersion: datadoghq.com/v2alpha1
kind: DatadogAgent
metadata:
name: datadog

spec:
override:
nodeAgent:
containers:
agent:
env:
# Metrics
- name: DD_ADDITIONAL_ENDPOINTS
value: '{"<oodle_metrics_endpoint>": ["<oodle_api_key>"]}'
# Logs
- name: DD_LOGS_CONFIG_ADDITIONAL_ENDPOINTS
value: '[{"api_key": "<oodle_api_key>", "Host": "<oodle_logs_host>", "Port": 443, "is_reliable": false}]'
- name: DD_LOGS_CONFIG_FORCE_USE_HTTP
value: 'true'
trace-agent:
env:
# APM / Traces
- name: DD_APM_ADDITIONAL_ENDPOINTS
value: '{"<oodle_traces_endpoint>": ["<oodle_api_key>"]}'
clusterAgent:
env:
# Metrics (cluster agent also needs this)
- name: DD_ADDITIONAL_ENDPOINTS
value: '{"<oodle_metrics_endpoint>": ["<oodle_api_key>"]}'
kubectl apply -f datadog-agent.yaml

Datadog Agent YAML

Add the following to your datadog.yaml:

# Metrics
additional_endpoints:
"<oodle_metrics_endpoint>":
- <oodle_api_key>

# APM / Traces
apm_config:
additional_endpoints:
"<oodle_traces_endpoint>":
- <oodle_api_key>

# Logs
logs_config:
force_use_http: true
additional_endpoints:
- api_key: <oodle_api_key>
Host: <oodle_logs_host>
Port: 443
is_reliable: false

Environment variables

If you are not using Helm, Operator, or YAML config, set these environment variables on both the agent and cluster-agent containers:

# Metrics
DD_ADDITIONAL_ENDPOINTS=\
'{"<oodle_metrics_endpoint>": ["<oodle_api_key>"]}'

# Logs
DD_LOGS_CONFIG_ADDITIONAL_ENDPOINTS=\
'[{"api_key": "<oodle_api_key>", "Host": "<oodle_logs_host>", "Port": 443, "is_reliable": false}]'
DD_LOGS_CONFIG_FORCE_USE_HTTP='true'

# APM / Traces
DD_APM_ADDITIONAL_ENDPOINTS=\
'{"<oodle_traces_endpoint>": ["<oodle_api_key>"]}'

Single-shipping (Oodle only)

Stop sending data to Datadog and send only to Oodle.

Datadog Helm chart

datadog:
apiKey: <oodle_api_key>
dd_url: <oodle_metrics_endpoint>
logs:
enabled: true
apm:
enabled: true
env:
# Logs
- name: DD_LOGS_CONFIG_DD_URL
value: '<oodle_logs_base_url>'
- name: DD_LOGS_CONFIG_FORCE_USE_HTTP
value: 'true'
# APM / Traces
- name: DD_APM_DD_URL
value: '<oodle_traces_endpoint>'

Then install or upgrade:

helm repo add --force-update datadog \
https://helm.datadoghq.com && \
helm upgrade --install datadog-agent datadog/datadog \
--values values.yaml

Datadog Operator

apiVersion: datadoghq.com/v2alpha1
kind: DatadogAgent
metadata:
name: datadog

spec:
global:
endpoint:
url: <oodle_metrics_endpoint>
credentials:
apiKey: <oodle_api_key>

override:
nodeAgent:
containers:
agent:
env:
# Logs
- name: DD_LOGS_CONFIG_DD_URL
value: '<oodle_logs_base_url>'
- name: DD_LOGS_CONFIG_FORCE_USE_HTTP
value: 'true'
trace-agent:
env:
# APM / Traces
- name: DD_APM_DD_URL
value: '<oodle_traces_endpoint>'
kubectl apply -f datadog-agent.yaml

Datadog Agent YAML

# Metrics
dd_url: <oodle_metrics_endpoint>
api_key: <oodle_api_key>

# APM / Traces
apm_config:
apm_dd_url: <oodle_traces_endpoint>

# Logs
logs_config:
logs_dd_url: <oodle_logs_base_url>
force_use_http: true

Environment variables

# Metrics
DD_DD_URL=<oodle_metrics_endpoint>
DD_API_KEY=<oodle_api_key>

# Logs
DD_LOGS_CONFIG_DD_URL='<oodle_logs_base_url>'
DD_LOGS_CONFIG_FORCE_USE_HTTP='true'

# APM / Traces
DD_APM_DD_URL='<oodle_traces_endpoint>'

Support

If you need assistance or have any questions, please reach out to us through: