본문 바로가기
WIKI 기술 지식 베이스

Synthetics APM

원문 보기 위키 갱신

Synthetic Monitoring의 테스트 실행으로 생성된 트레이스를 확인해 잠재적으로 실패한 테스트 실행에서 문제의 근본 원인으로 이동하는 방법을 안내해요.

출처: 문서

본문

사용 가능: HTTP API 테스트, 멀티스텝 API 테스트, 브라우저 테스트

개요

Synthetic Monitoring과의 APM 통합을 사용하면 테스트 실행으로 생성된 트레이스를 확인해 잠재적으로 실패한 테스트 실행에서 문제의 근본 원인으로 이동할 수 있어요.

네트워크 관련 세부 사항(테스트 덕분에)과 백엔드, 인프라, 로그 정보(트레이스 덕분에)를 함께 보면 사용자가 경험하는 방식대로 애플리케이션이 동작하는 방식에 대한 새로운 수준의 세부 정보에 접근할 수 있어요.

사용

사전 요구 사항

  • 서비스와 테스트가 실행되는 엔드포인트가 APM 측에서 추적되고 있어야 해요.
  • 서비스가 HTTP 서버를 사용해야 해요.
  • HTTP 서버가 분산 트레이싱을 지원하는 라이브러리를 사용해야 해요.

추적된 HTTP 서버를 공격하는 테스트를 만들면 Datadog이 서버가 생성한 트레이스를 해당 테스트 결과에 자동으로 연결해요.

브라우저 테스트 결과를 연결하려면 APM 통합 헤더를 추가하려는 URL을 허용해요. 이는 Synthetic Settings에서 할 수 있어요.

와일드카드에는 *를 사용해요. 도메인에서 *는 단일 하위 도메인 라벨과 일치하며 점을 가로질러 일치하지 않아요. URL 경로에서 *는 /를 포함한 모든 문자와 일치해요.

예를 들어 https://*.datadoghq.com/*을 추가하면:

URL 허용 이유
https://www.datadoghq.com/product 예 *가 단일 라벨 www와 일치
https://www.datadoghq.com/product/synthetic-monitoring 예 URL 경로 와일드카드가 /를 가로질러 일치
https://www.docs.datadoghq.com/synthetics 아니요 *는 점을 포함하는 www.docs와 일치할 수 없음

지원되는 라이브러리

다음 Datadog SDK가 지원돼요:

라이브러리 최소 버전
Python 0.50.4
Go 1.10.0
Java 0.24.1
Ruby 0.20.0
Node.js 0.10.0
PHP 0.33.0
.NET 1.18.2

트레이스가 테스트에 어떻게 연결되나요?

Datadog은 분산 트레이싱 프로토콜을 사용하며 다음 HTTP 헤더를 설정해요:

Datadog

  • x-datadog-trace-id: Synthetic Monitoring 백엔드에서 생성돼요. Datadog이 트레이스를 테스트 결과와 연결할 수 있게 해줘요.
  • x-datadog-parent-id: 0: Synthetic 테스트가 생성된 트레이스의 루트 스팬이 되도록 해요.
  • x-datadog-origin: synthetics: API 테스트에서 생성된 트레이스를 식별해요. 이 트레이스의 스팬은 ingestion_reason:synthetics로 태그가 지정돼요.
  • x-datadog-origin: synthetics-browser: 브라우저 테스트에서 생성된 트레이스를 식별해요. 이 트레이스는 ingestion_reason:synthetics-browser로 태그가 지정돼요.
  • x-datadog-sampling-priority: 1: Agent가 트레이스를 유지하도록 하기 위해.

W3C Trace Context

  • traceparent: [version]-[trace id]-[parent id]-[trace flags]
    • version: 사양은 버전이 00으로 설정된다고 가정해요.
    • trace id: 128비트 트레이스 ID, 32자 16진수. 원본 트레이스 ID는 APM과의 호환성을 유지하기 위해 64비트예요.
    • parent id: 64비트 스팬 ID, 16자 16진수.
    • trace flags: 샘플링됨(01) 또는 샘플링 안 됨(00).
    • 예시: traceparent: 00-00000000000000008448eb211c80319c-b7ad6b7169203331s-01

트레이스는 얼마나 오래 보존되나요?

이 트레이스는 일반적인 APM 트레이스와 마찬가지로 Synthetics 기본 보존 필터로 15일 동안 보존돼요.

더 알아보기 (Learn more)