본문 바로가기
모티터링도구

Observability & Open Telemetry 전파전략

by 아이티.파머 2025. 7. 30.
728x90

전파 전략

Open Tracing 의 전파 전략에 대해 알아보겠습니다. 

오픈트레이싱에서 선택할수 있는 방법은 두가지가 있습니다. 이전 Brave모드와, W3C Trace Context 스팩입니다. 

 

 

W3C Trace Context

traceparent: {version}-{trace-id}-{parent-id}-{trace-flags}
  • traceparent (필수)
    • 트레이스 구조 표현
      • version
      • trace ID
      • span ID
      • trace flages
    version 2자리 현재 버전정보
    trace-id 32자리 전체 트레이스를 식별하는 ID
    parent-id 16자리 현재 요청의 상위 span Id
    trace-flasgs 2자리 샘플링 정보 (01: 샘플링 OK, 00: 샘플링 NO )
traceparent: 00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-01
tracestate: congo=BleGNlZWRzIHRohbCBwbGVhc3VyZS4
  • tracestate(선택)
    • 밴더-특화 정보를 추가로 담을수있는 선택적 헤더.
    • 구현체간 상태 전파용
      • Key=value 쌍으로 된 정보를 담을 수있다. (구분자 쉼표 )
tracestate: ot=1234567890abcdef,gcp=abcdefghijklmno

B3(Brave)

  • 멀티헤더와 싱글헤더 방식을 취할 수있다.

Single Header

  • 모든 필드를 하나의 b3 헤더 즉 ‘-’(하이픈)으로 연결한다.
#format
b3: {traceId}-{spanID}-{SampleingState}-{parentSpanId}

TraceId 전체 Trace ID (16 or 32 hex char)

SpanId 현재 span ID (16 hex char)
SamplingState 샘플링 여부
0, 1, d  
sample
b3: 463ac35c9f6413ad48485a3953bb6124-a2fb4a1d1a96d312-1-0020000000000001

Multi Header

  • 각 필드를 별도의 HTTP 헤더로 전송한다.

X-B3-TraceId 전체 트레이스 ID 이며, 최상위 요청 식별자이다.

X-B3-SpanID 현재 작업 고유 ID
X-B3-ParentSpanID 상위
X-B3-Sampled 샘플링 여부 (0,1,true,false)
X-B3-Flags 디버그 플래그로 1이면 항상 샘플링 한다.
X-B3-TraceId: 463ac35c9f6413ad48485a3953bb6124
X-B3-SpanId: a2fb4a1d1a96d312
X-B3-ParentSpanId: 0020000000000001
X-B3-Sampled: 1
X-B3-Flags: 0

Observability 기대효과

문제 발생시 근본 원인에 대한 신속 분석 가능

  • 로그, 메트릭, 트레이스를 통한 상관관계 분석으로 장애 원인에 대한 빠른 진단 가능

운영 효율성과 자동화 수준 향상

  • 알림 및 리포트를 통한 devOps/SRE 업무 부담절감

서비스 안정성 및 가용성 확보