liminfo

OpenTelemetry Reference

OpenTelemetry 분산 추적 관측성 레퍼런스

27개 결과

OpenTelemetry Reference 소개

OpenTelemetry 레퍼런스는 OpenTelemetry 관측성 프레임워크의 핵심 구성 요소를 체계적으로 정리한 검색 가능한 참조 도구입니다. 트레이스(TracerProvider, Span, SpanContext, SpanKind, BatchSpanProcessor), 메트릭(MeterProvider, Counter, Histogram, UpDownCounter, ObservableGauge), 로그(LoggerProvider, Log Record, Bridge API, Log Correlation), SDK 설정(NodeSDK, Resource, Context Propagation, Sampler, Semantic Conventions), 컬렉터 구성(수신기, 프로세서, 내보내기, 파이프라인), 계측(HTTP, Express, 데이터베이스, 커스텀)을 다룹니다.

분산 트레이싱과 관측성 파이프라인을 다루는 백엔드 엔지니어, SRE, DevOps 팀을 위해 설계되었으며, 모든 OpenTelemetry 구성 요소에 대해 바로 사용할 수 있는 TypeScript 및 YAML 코드 스니펫을 제공합니다.

총 28개 항목이 트레이스, 메트릭, 로그, SDK, 컬렉터, 계측의 6개 카테고리로 구성되어, 구현, 디버깅, 아키텍처 검토 시 빠른 조회가 가능합니다.

주요 기능

  • TracerProvider, Span, SpanContext, SpanKind 설정과 TypeScript 예제
  • 메트릭 API 레퍼런스: Counter, Histogram, UpDownCounter, ObservableGauge
  • trace_id와 span_id를 통한 로그-트레이스 상관관계 설정 방법
  • NodeSDK 올인원 설정과 자동 계측 및 Resource 구성
  • 컬렉터 파이프라인 YAML 구성: 수신기, 프로세서, 내보내기, 서비스 파이프라인
  • HTTP, Express, PostgreSQL, MySQL 자동 계측 예제
  • TraceIdRatioBasedSampler 샘플링 전략과 W3C 컨텍스트 전파 설정
  • 6개 카테고리 필터링과 전체 항목 키워드 즉시 검색 지원

자주 묻는 질문

이 OpenTelemetry 레퍼런스에서 어떤 구성 요소를 다루나요?

관측성의 세 가지 축을 모두 다룹니다. 트레이스(TracerProvider, 스팬, 스팬 프로세서), 메트릭(Counter, Histogram, UpDownCounter, ObservableGauge), 로그(LoggerProvider, 로그 레코드, Bridge API)와 함께 SDK 설정(NodeSDK, Resource, Sampler), 컬렉터 파이프라인(수신기, 프로세서, 내보내기), 계측 라이브러리(HTTP, Express, 데이터베이스)를 포함합니다.

예제 코드는 어떤 언어로 작성되어 있나요?

모든 코드 예제는 @opentelemetry Node.js SDK 패키지를 사용하는 TypeScript로 작성되어 있습니다. 컬렉터 구성 예제는 YAML 형식입니다. 개념은 모든 OpenTelemetry 지원 언어에 적용되지만, 표시된 구문은 Node.js/TypeScript 기준입니다.

Node.js 애플리케이션에 OpenTelemetry를 어떻게 설정하나요?

@opentelemetry/sdk-node의 NodeSDK 클래스에 getNodeAutoInstrumentations()를 사용하여 자동 계측을 설정합니다. serviceName을 지정하고, OTLP HTTP 또는 gRPC 내보내기를 구성한 뒤 sdk.start()를 호출합니다. 레퍼런스에 전체 설정 코드가 포함되어 있습니다.

Counter, Histogram, UpDownCounter의 차이점은 무엇인가요?

Counter는 증가만 가능합니다(예: 요청 횟수). Histogram은 값의 분포를 기록합니다(예: 응답 지연 시간 ms). UpDownCounter는 증가와 감소가 모두 가능합니다(예: 활성 연결 수). ObservableGauge는 콜백을 통해 비동기적으로 값을 읽습니다(예: 메모리 사용량).

OpenTelemetry 컬렉터는 어떻게 구성하나요?

컬렉터는 네 가지 섹션의 YAML 구성을 사용합니다: receivers(OTLP gRPC/HTTP, Prometheus 스크래퍼), processors(batch, filter, attributes), exporters(OTLP, Prometheus, Loki), 그리고 이를 연결하는 service pipelines입니다. 레퍼런스에 각 섹션의 바로 사용 가능한 YAML이 제공됩니다.

로그와 트레이스 상관관계는 어떻게 작동하나요?

context.active()와 함께 로그 레코드를 전송하면, OpenTelemetry가 현재 trace_id와 span_id를 로그에 자동으로 주입합니다. 이를 통해 Grafana Loki나 Elasticsearch 같은 백엔드에서 해당 로그를 생성한 정확한 트레이스 및 스팬과 연관시킬 수 있습니다.

어떤 샘플링 전략을 사용할 수 있나요?

레퍼런스에서는 비율 기반 샘플링(예: 트레이스의 10%)을 위한 TraceIdRatioBasedSampler를 다룹니다. OpenTelemetry는 AlwaysOn, AlwaysOff, ParentBased 샘플러도 지원합니다. TracerProvider 또는 NodeSDK 옵션에서 샘플러를 설정합니다.

이 OpenTelemetry 레퍼런스는 무료인가요?

네, 계정 등록 없이 완전히 무료로 사용할 수 있습니다. 모든 콘텐츠는 서버 처리 없이 브라우저에서 실행됩니다. liminfo.com의 무료 개발자 참조 도구 모음의 일부입니다.