콘텐츠로 이동

호스트에 배포


DataKit Agent 설치

시스템 및 애플리케이션의 분산 추적(APM) 데이터 분석을 수행하려면 각 대상 호스트에 Guance DataKit 수집기를 배포하여 필요한 추적 데이터를 수집해야 합니다.

DDTrace 수집기 활성화

DDTrace는 분산 추적(Tracing) 프로토콜 데이터를 수신, 계산 및 분석하는 데 사용됩니다. 다음 명령을 실행하여 DDTrace 수집기를 활성화하세요. 다른 서드파티 분산 추적 수집 구성은 통합을 참조하세요.

cp /usr/local/datakit/conf.d/samples/ddtrace/ddtrace.conf.sample /usr/local/datakit/conf.d/samples/ddtrace/ddtrace.conf

구성이 완료되면 DataKit을 다시 시작합니다:

datakit service -R

언어 선택

Java

종속성 설치:

wget -O dd-java-agent.jar 'https://static.guance.com/dd-image/dd-java-agent.jar'

애플리케이션 실행:

IDE, Maven, Gradle 또는 java -jar 명령을 통해 Java 코드를 실행할 수 있습니다. 다음은 java 명령을 사용하여 애플리케이션을 시작하는 예시입니다:

java \ 
    -javaagent:/path/to/dd-java-agent.jar \ 
    -Ddd.logs.injection=true \ 
    -Ddd.agent.host=<YOUR-DATAKIT-HOST> \ 
    -Ddd.trace.agent.port=9529 \ 
    -jar path/to/your/app.jar

파라미터 구성:

  1. service.name: 서비스 이름;
  2. env: 애플리케이션 서비스의 환경 정보;
  3. version: 버전 번호;
  4. 샘플링 비율 설정: 활성화하면 실제 생성되는 데이터 양을 줄일 수 있습니다. 숫자 범위는 0.0(0%) ~ 1.0(100%)입니다.
  5. 프로파일링 데이터 수집: 활성화하면 애플리케이션 런타임에 대한 더 많은 정보를 확인할 수 있습니다.
  6. JVM 메트릭 수집 활성화: statsd 수집기를 함께 활성화해야 합니다.

자세한 파라미터 구성은 여기를 참조하세요.

Python

종속성 설치:

pip install ddtrace

애플리케이션 실행:

DD_LOGS_INJECTION=true \ 
DD_AGENT_HOST=localhost \ 
DD_AGENT_PORT=9529 \ 
ddtrace-run python my_app.py

파라미터 구성:

  1. service.name: 서비스 이름;
  2. env: 애플리케이션 서비스의 환경 정보;
  3. version: 버전 번호;
  4. 샘플링 비율 설정: 활성화하면 실제 생성되는 데이터 양을 줄일 수 있습니다. 숫자 범위는 0.0(0%) ~ 1.0(100%)입니다.
  5. 프로파일링 데이터 수집: 활성화하면 애플리케이션 런타임에 대한 더 많은 정보를 확인할 수 있습니다.
  6. Python 메트릭 수집 활성화: statsd 수집기를 함께 활성화해야 합니다.

자세한 파라미터 구성은 여기를 참조하세요.

Golang

종속성 설치:

go get gopkg.in/DataDog/dd-trace-go.v1/ddtrace/tracer

애플리케이션 실행:

package main 

import ( 
   "io/ioutil" 
   "os" 
   "time" 
   httptrace "gopkg.in/DataDog/dd-trace-go.v1/contrib/net/http" 
   "gopkg.in/DataDog/dd-trace-go.v1/ddtrace/tracer" 
) 

func main() { 
  tracer.Start( 
  ) 
  defer tracer.Stop() 
  // Create a traced mux router
  mux := httptrace.NewServeMux()
  // Continue using the router as you normally would.
  mux.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
    time.Sleep(time.Second)
    w.Write([]byte("Hello World!"))
  })
  if err := http.ListenAndServe(":18080", mux); err != nil {
    log.Fatal(err)
  }
}

파라미터 구성:

  1. service.name: 서비스 이름;
  2. env: 애플리케이션 서비스의 환경 정보;
  3. version: 버전 번호;
  4. 샘플링 비율 설정: 활성화하면 실제 생성되는 데이터 양을 줄일 수 있습니다. 숫자 범위는 0.0(0%) ~ 1.0(100%)입니다.
  5. 프로파일링 데이터 수집: 활성화하면 애플리케이션 런타임에 대한 더 많은 정보를 확인할 수 있습니다.

자세한 파라미터 구성은 여기를 참조하세요.

Node.JS

C++

PHP

문서 평가

이 페이지가 도움이 되었나요?