";let n=document.getElementById("TableOfContents");n&&(n.innerHTML=e)}rerender(){this.renderFilterMenu(),this.renderPageContent(),this.populateRightNav(),this.runHooks("afterRerender")}renderPageContent(){let e={};Object.keys(this.ifFunctionsByRef).forEach(t=>{let s=this.ifFunctionsByRef[t],o=s.value,n=(0,h.reresolveFunctionNode)(s,{variables:this.selectedValsByTraitId});this.ifFunctionsByRef[t]=n,o!==n.value&&(e[t]=n.value)});let t=document.getElementsByClassName("cdoc__toggleable");for(let n=0;n{this.fitCustomizationMenuToScreen()})}addDropdownEventListeners(){let e=document.getElementsByClassName("cdoc-dropdown");for(let t=0;t{let t=e.target;for(;!t.classList.contains("cdoc-dropdown")&&t.parentElement;)t=t.parentElement;let n=t.classList.toggle("cdoc-dropdown__expanded");t.setAttribute("aria-expanded",n.toString())});document.addEventListener("keydown",e=>{if(e.key==="Enter"){let t=e.target;t.classList.contains("cdoc-filter__option")&&t.click()}}),document.addEventListener("click",t=>{for(let n=0;nthis.handleFilterSelectionChange(e));this.addDropdownEventListeners()}locateFilterSelectorEl(){let e=document.getElementById("cdoc-selector");return!!e&&(this.filterSelectorEl=e,!0)}applyFilterSelectionOverrides(){let s=Object.keys(this.selectedValsByTraitId),e=!1,t=this.browserStorage.getTraitVals();Object.keys(t).forEach(n=>{s.includes(n)&&this.selectedValsByTraitId[n]!==t[n]&&(this.selectedValsByTraitId[n]=t[n],e=!0)});let n=(0,j.getTraitValsFromUrl)({url:new URL(window.location.href),traitIds:s});return Object.keys(n).forEach(t=>{this.selectedValsByTraitId[t]!==n[t]&&(this.selectedValsByTraitId[t]=n[t],e=!0)}),e}updateEditButton(){let t=document.getElementsByClassName("toc-edit-btn")[0];if(!t)return;let e=t.getElementsByTagName("a")[0];e&&(e.href=e.href.replace(/\.md\/$/,".mdoc.md/"))}revealPage(){this.runHooks("beforeReveal"),this.filterSelectorEl&&(this.filterSelectorEl.style.position="sticky",this.filterSelectorEl.style.backgroundColor="white",this.filterSelectorEl.style.paddingTop="10px",this.filterSelectorEl.style.visibility="visible",this.filterSelectorEl.style.zIndex="1000");let e=document.getElementById("cdoc-content");e&&(e.style.visibility="visible"),this.runHooks("afterReveal")}renderFilterMenu(){if(!this.filterSelectorEl||!this.filtersManifest)throw new Error("Cannot render filter selector without filtersManifest and filterSelectorEl");let e=(0,l.resolveFilters)({filtersManifest:this.filtersManifest,valsByTraitId:this.selectedValsByTraitId});Object.keys(e).forEach(t=>{let n=e[t];this.selectedValsByTraitId[t]=n.currentValue});let t=(0,y.buildCustomizationMenuUi)(e);this.filterSelectorEl.innerHTML=t,this.fitCustomizationMenuToScreen(),this.addFilterSelectorEventListeners()}fitCustomizationMenuToScreen(){let e=document.getElementById(g);if(!e)return;let s=e.classList.contains(n),t=document.getElementById(v);if(!t)throw new Error("Dropdown menu not found");let o=document.getElementById(b);if(!o)throw new Error("Menu wrapper not found");let i=e.scrollWidth>o.clientWidth;!s&&i?(e.classList.add(n),t.classList.remove(n)):s&&!i&&(e.classList.remove(n),t.classList.add(n))}get cdocsState(){return{selectedValsByTraitId:this.selectedValsByTraitId,ifFunctionsByRef:this.ifFunctionsByRef,filtersManifest:this.filtersManifest,browserStorage:this.browserStorage,filterSelectorEl:this.filterSelectorEl}}};e.ClientFiltersManager=r,t=r,s={value:void 0}}),y=e(e=>{Object.defineProperty(e,"__esModule",{value:!0});var t=j();window.clientFiltersManager=t.ClientFiltersManager.instance}),y()})()Install the Datadog Distribution of OTel Collector on Linux
Cette page n'est pas encore disponible en français, sa traduction est en cours. Si vous avez des questions ou des retours sur notre projet de traduction actuel, n'hésitez pas à nous contacter.
Support for deploying the DDOT Collector on Linux-based bare-metal hosts and virtual machines is currently in Preview.
FedRAMP customers should not enable or use the embedded OpenTelemetry Collector.
Overview
Follow this guide to install the Datadog Distribution of OpenTelemetry (DDOT) Collector on Linux-based bare-metal hosts and virtual machines.
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:
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:
DDOT automatically binds the OpenTelemetry Collector to ports 4317 (grpc) and 4318 (http) by default.
(Optional) Enable additional Datadog features
Enabling these features may incur additional charges. Review the pricing page and talk to your Customer Success Manager before proceeding.
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.
Configure the OpenTelemetry Collector
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:13133pprof:endpoint:localhost:1777zpages:endpoint:localhost:55679ddflare:endpoint:localhost:7777receivers:otlp:protocols:grpc:endpoint:0.0.0.0:4317http:endpoint:0.0.0.0:4318# Collect own metricsprometheus:config:scrape_configs:- job_name:'otel-collector'fallback_scrape_protocol:PrometheusText0.0.4metric_name_validation_scheme:legacymetric_name_escaping_scheme:underscoresscrape_interval:60sscrape_protocols:- PrometheusText0.0.4static_configs:- targets:['0.0.0.0:8888']metric_relabel_configs:- source_labels:[__name__]regex:".*grpc_io.*"action:dropexporters:datadog:hostname:"otelcol-docker"api:key:<DATADOG_API_KEY>site:<DATADOG_SITE>processors:infraattributes:batch:# using the samplerprobabilistic_sampler:sampling_percentage:30connectors:# Use datadog connector to compute stats for pre-sampled tracesdatadog/connector:traces:compute_stats_by_span_kind:truepeer_tags_aggregation:trueservice:extensions:[health_check, pprof, zpages, ddflare]pipelines:traces:# this pipeline computes APM statsreceivers:[otlp]processors:[batch]exporters:[datadog/connector]traces/sampling:# this pipeline uses sampling and sends tracesreceivers:[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:
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).
Prometheus receiver
The Prometheus receiver collects health metrics from the OpenTelemetry Collector for the metrics pipeline.
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:
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:
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:
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.
Explore observability data in Datadog
Use Datadog to explore the observability data for your application.
Fleet automation
Explore your Datadog Agent and Collector configuration.
Infrastructure monitoring
View runtime and infrastructure metrics to visualize, monitor, and measure the performance of your hosts.
Logs
View logs to monitor and troubleshoot application and system operations.
Traces
View traces and spans to observe the status and performance of requests processed by your application, with infrastructure metrics correlated in the same trace.
Runtime metrics
Monitor your runtime (JVM) metrics for your applications.
Collector health metrics
View metrics from the DDOT Collector to monitor the Collector health.
Further reading
Documentation, liens et articles supplémentaires utiles: