";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()})()Getting Started with OpenTelemetry at Datadog
이 페이지는 아직 영어로 제공되지 않습니다. 번역 작업 중입니다. 현재 번역 프로젝트에 대한 질문이나 피드백이 있으신 경우 언제든지 연락주시기 바랍니다.
개요
OpenTelemetry는 소프트웨어 애플리케이션에서 관측성 데이터를 수집 및 라우팅할 목적으로 표준화된 프로토콜 및 툴을 IT 팀에 제공해 드리는 오픈 소스 관측성 프레임워크입니다. OpenTelemetry는 애플리케이션 관측성 데이터(메트릭, 로그, 트레이스) 계측, 생성, 수집, 내보내기 분석을 위한 일관된 형식을 제공하여, 플랫폼을 모니터링하여 분석 및 통찰을 얻도록 도와드립니다.
본 지침에서는 OpenTelemetry 애플리케이션 샘플을 설정하여 OpenTelemetry SDK, OpenTelemetry 컬렉터, Datadog 내보내기 기능으로 Datadog으로 관측성 데이터를 전송하는 방법을 설명합니다. 아울러, Datadog UI에서 해당 데이터를 탐색하는 방법도 알아봅니다.
Datadog 익스포터는 OTLP 리시버로 수집한 데이터를 Datadog 백엔드로 전송합니다.
otelcol-config.yaml 파일로 이동합니다.
다음 코드로 Datadog 익스포터를 설정하여 Datadog에 관측성 데이터를 전송합니다.
otelcol-config.yaml
exporters:datadog:traces:span_name_as_resource_name:truetrace_buffer:500hostname:"otelcol-docker"api:key:${DD_API_KEY}site:datadoghq.comconnectors:datadog/connector:service:pipelines:metrics:receivers:[otlp, datadog/connector]# <- 이 줄을 업데이트하세요.exporters:[datadog]traces:exporters:[datadog, datadog/connector]logs:exporters:[datadog]
exporters.datadog.api.site을 Datadog 사이트로 설정합니다. 그렇지 않은 경우 기본값은 US1입니다.
본 설정으로 Datadog 익스포터는 런타임 메트릭, 트레이스, 로그를 Datadog으로 전송할 수 있으나, 인프라스트럭처 메트릭을 전송하려면 추가 설정이 필요합니다.
OpenTelemetry 컬렉터
본 예시에서는 인프라스트럭처 메트릭을 전송하는 OpenTelemetry 컬렉터를 설정합니다.
OpenTelemetry 컬렉터에서 Datadog으로 인프라스트럭처 메트릭을 전송하려면 Linux를 사용해야 합니다. 이는 도커(Docker) 통계 리시버의 제한 사항입니다.