전체 그래프
OpenTelemetry

OpenTelemetry

data-engineeringobservabilityopentelemetrymoc

상위: Data Engineering

OpenTelemetry

요약

OpenTelemetry(OTel)는 벤더 중립적 오픈소스 관측성(Observability) 프레임워크이다. 분산 시스템에서 Traces, Metrics, Logs 세 가지 텔레메트리 신호를 수집·처리·내보내기 위한 표준을 제공한다. 관측성 백엔드(Jaeger, Prometheus, Grafana, Datadog 등)와 독립적으로 계측(Instrumentation)을 표준화하는 것이 핵심 목적이다. CNCF graduated 프로젝트.

핵심 개념

아키텍처 개요

OpenTelemetry

  • OTLP (OpenTelemetry Protocol): SDK와 Collector 간 표준 통신 프로토콜. gRPC 또는 HTTP
  • SDK: 애플리케이션에 내장. 텔레메트리 데이터를 생성하고 Collector로 전송
  • Collector: 중앙 허브. 여러 소스에서 데이터를 수집하고, 가공한 뒤, 다양한 백엔드로 내보냄

OTel이 아닌 것

OpenTelemetry는 관측성 백엔드가 아니다. 데이터를 저장하거나 시각화하지 않는다. 수집과 전송만 담당하고, 저장·쿼리·알림은 Jaeger, Prometheus, Grafana, Datadog 같은 백엔드의 역할이다.

역할도구
계측 & 수집OpenTelemetry
Traces 저장/시각화Jaeger, Grafana Tempo, Zipkin
Metrics 저장/알림Prometheus, Grafana Mimir
Logs 저장/검색Elasticsearch, Grafana Loki
올인원Datadog, New Relic, Splunk

왜 OTel인가?

  • 벤더 락인 방지: 계측 코드를 한 번 작성하면 백엔드를 자유롭게 교체할 수 있다
  • 표준화: W3C Trace Context, OTLP 등 업계 표준 프로토콜
  • 3가지 신호 통합: Traces + Metrics + Logs를 하나의 프레임워크로 상관관계(correlation) 분석
  • 광범위한 언어 지원: Java, Python, Go, JavaScript, .NET, Rust 등
  • 거대한 생태계: CNCF graduated, 71%의 관측성 사용자가 OTel 활용 (Grafana Labs 설문)

관련 개념