- 필수 기능
- 시작하기
- Glossary
- 표준 속성
- Guides
- Agent
- 통합
- 개방형텔레메트리
- 개발자
- Administrator's Guide
- API
- Datadog Mobile App
- CoScreen
- Cloudcraft
- 앱 내
- 서비스 관리
- 인프라스트럭처
- 애플리케이션 성능
- APM
- Continuous Profiler
- 스팬 시각화
- 데이터 스트림 모니터링
- 데이터 작업 모니터링
- 디지털 경험
- 소프트웨어 제공
- 보안
- AI Observability
- 로그 관리
- 관리
",t};e.buildCustomizationMenuUi=t;function n(e){let t='
",t}function s(e){let n=e.filter.currentValue||e.filter.defaultValue,t='${e.filter.label}
`,e.filter.options.forEach(s=>{let o=s.id===n;t+=``}),t+="${e.filter.label}
`,t+=`Support for deploying the DDOT Collector on Linux-based bare-metal hosts and virtual machines is currently in Preview.
Follow this guide to install the Datadog Distribution of OpenTelemetry (DDOT) Collector on Linux-based bare-metal hosts and virtual machines.
To complete this guide, you need the following:
Datadog account:
Software:
curl
must be installed to use the one-line installation script.To install the DDOT Collector on a Linux host, use the following one-line installation command:
DD_API_KEY=<DATADOG_API_KEY> DD_SITE="" DD_OTELCOLLECTOR_ENABLED=true DD_AGENT_MAJOR_VERSION=7 DD_AGENT_MINOR_VERSION=69.4-1 bash -c "$(curl -L https://install.datadoghq.com/scripts/install_script_agent7.sh)"
This command installs both the core Datadog Agent package and the DDOT Collector that runs alongside it.
Run the Agent’s status command to verify installation.
sudo datadog-agent status
A successful installation returns an Agent Status report that begins with Agent information like this:
====================
Agent (v7.x.x)
====================
Status date: 2025-08-22 18:35:17.449 UTC (1755887717449)
Agent start: 2025-08-22 18:16:27.004 UTC (1755886587004)
Pid: 2828211
Go Version: go1.24.6
Python Version: 3.12.11
Build arch: amd64
Agent flavor: agent
FIPS Mode: not available
Log Level: info
There will also be an OTel Agent status section that includes OpenTelemetry information:
==========
OTel Agent
==========
Status: Running
Agent Version: 7.x.x
Collector Version: v0.129.0
Receiver
==========================
Spans Accepted: 0
Metric Points Accepted: 1055
Log Records Accepted: 0
Exporter
==========================
Spans Sent: 0
Metric Points Sent: 1055
Log Records Sent: 0
The configuration file for the Datadog Agent is automatically installed at /etc/datadog-agent/datadog.yaml
. The installation script adds the following configuration settings to /etc/datadog-agent/datadog.yaml
to enable the DDOT Collector:
datadog-agent.yaml
otelcollector:
enabled: true
agent_ipc:
port: 5009
config_refresh_interval: 60
DDOT automatically binds the OpenTelemetry Collector to ports 4317 (grpc) and 4318 (http) by default.
For a complete list of available options, refer to the fully commented reference file at /etc/datadog-agent/datadog.yaml.example
or the sample config_template.yaml
file.
When enabling additional Datadog features, always use the Datadog or OpenTelemetry Collector configuration files instead of relying on Datadog environment variables.
The installation script provides a sample OpenTelemetry Collector configuration at /etc/datadog-agent/otel-config.yaml
that you can use as a starting point.
Sample otel-config.yaml file from installation
Sample otel-config.yaml
from installation will look something like this:
otel-config.yaml
extensions:
health_check:
endpoint: localhost:13133
pprof:
endpoint: localhost:1777
zpages:
endpoint: localhost:55679
ddflare:
endpoint: localhost:7777
receivers:
otlp:
protocols:
grpc:
endpoint: 0.0.0.0:4317
http:
endpoint: 0.0.0.0:4318
# Collect own metrics
prometheus:
config:
scrape_configs:
- job_name: 'otel-collector'
fallback_scrape_protocol: PrometheusText0.0.4
metric_name_validation_scheme: legacy
metric_name_escaping_scheme: underscores
scrape_interval: 60s
scrape_protocols:
- PrometheusText0.0.4
static_configs:
- targets: ['0.0.0.0:8888']
metric_relabel_configs:
- source_labels: [__name__]
regex: ".*grpc_io.*"
action: drop
exporters:
datadog:
hostname: "otelcol-docker"
api:
key: <DATADOG_API_KEY>
site: <DATADOG_SITE>
processors:
infraattributes:
batch:
# using the sampler
probabilistic_sampler:
sampling_percentage: 30
connectors:
# Use datadog connector to compute stats for pre-sampled traces
datadog/connector:
traces:
compute_stats_by_span_kind: true
peer_tags_aggregation: true
service:
extensions: [health_check, pprof, zpages, ddflare]
pipelines:
traces: # this pipeline computes APM stats
receivers: [otlp]
processors: [batch]
exporters: [datadog/connector]
traces/sampling: # this pipeline uses sampling and sends traces
receivers: [otlp]
processors: [probabilistic_sampler, infraattributes,batch]
exporters: [datadog]
metrics:
receivers: [otlp, datadog/connector, prometheus]
processors: [infraattributes,batch]
exporters: [datadog]
logs:
receivers: [otlp]
processors: [infraattributes, batch]
exporters: [datadog]
Note: this configuration includes a sampling pipeline by default. If you do not wish to sample traces, you can modify the pipelines as follows:
otel-config.yaml
service:
extensions: [health_check, pprof, zpages, ddflare]
pipelines:
traces:
receivers: [otlp]
processors: [infraattributes, batch]
exporters: [datadog, datadog/connector]
metrics:
receivers: [otlp, datadog/connector, prometheus]
processors: [infraattributes, batch]
exporters: [datadog]
logs:
receivers: [otlp]
processors: [infraattributes, batch]
exporters: [datadog]
To send telemetry data to Datadog, the following components are defined in the configuration:
The Datadog connector computes Datadog APM trace metrics.
otel-config.yaml
connectors:
datadog/connector:
traces:
The Datadog exporter exports traces, metrics, and logs to Datadog.
otel-config.yaml
exporters:
datadog:
api:
key: <DATADOG_API_KEY>
site: <DATADOG_SITE>
Note: If key
is not specified or set to a secret, or if site
is not specified, the system uses values from the core Agent configuration. By default, the core Agent sets site to datadoghq.com
(US1).
The Prometheus receiver collects health metrics from the OpenTelemetry Collector for the metrics pipeline.
otel-config.yaml
receivers:
prometheus:
config:
scrape_configs:
- job_name: "otel-collector"
scrape_interval: 60s
static_configs:
- targets: ["0.0.0.0:8888"]
For more information, see the Collector Health Metrics documentation.
To send your telemetry data to Datadog:
Instrument your application using the OpenTelemetry API.
Example application instrumented with the OpenTelemetry API
As an example, you can use the Calendar sample application that’s already instrumented for you. The following code instruments the CalendarService.getDate() method using the OpenTelemetry annotations and API:
CalendarService.java
@WithSpan(kind = SpanKind.CLIENT)
public String getDate() {
Span span = Span.current();
span.setAttribute("peer.service", "random-date-service");
...
}
Your application must send data to the DDOT Collector on the same host. Ensure that the OTEL_EXPORTER_OTLP_ENDPOINT
environment variable is set on your application.
If using the example application, run-otel-local.sh
sets up the required environment variables and runs the application:
run-otel-local.sh
export OTEL_METRICS_EXPORTER="otlp"
export OTEL_LOGS_EXPORTER="otlp"
export OTEL_EXPORTER_OTLP_ENDPOINT="http://localhost:4317"
export OTEL_EXPORTER_OTLP_PROTOCOL="grpc"
Unified service tagging ties observability data together in Datadog so you can navigate across metrics, traces, and logs with consistent tags.
In bare-metal environments, env
, service
, and version
are set through the OpenTelemetry Resource Attributes environment variables. The DDOT Collector detects this tagging configuration and applies it to the data it collects from applications.
In the example application, this is done in run-otel-local.sh
:
run-otel-local.sh
export OTEL_RESOURCE_ATTRIBUTES="service.name=my-calendar-service,service.version=1.0,deployment.environment.name=otel-test,host.name=calendar-host"
Redeploy your application to apply the changes made in your environment variables. After the updated configuration is active, unified service tagging is fully enabled for your metrics, traces, and logs.
Use Datadog to explore the observability data for your application.
Explore your Datadog Agent and Collector configuration.
View runtime and infrastructure metrics to visualize, monitor, and measure the performance of your hosts.
View logs to monitor and troubleshoot application and system operations.
View traces and spans to observe the status and performance of requests processed by your application, with infrastructure metrics correlated in the same trace.
Monitor your runtime (JVM) metrics for your applications.
View metrics from the DDOT Collector to monitor the Collector health.
추가 유용한 문서, 링크 및 기사: