Community

JAEGER

JAEGER는 분산 트랜잭션을 추적하고 모니터링하여 마이크로서비스 아키텍처에서 성능 병목현상과 문제를 진단하는 오픈소스 분산 추적 시스템입니다.

JAEGER란?

JAEGER는 마이크로서비스 아키텍처에서 분산 트랜잭션을 추적하고 성능 문제를 진단하기 위한 오픈소스 분산 추적 시스템입니다. 트랜잭션 흐름을 시각화하고 병목현상을 분석하며, 서비스 의존성과 요청 지연 시간을 추적하는 데 유용합니다.

JAEGER는 Apache 2.0 라이선스를 따르며, 클라우드 네이티브 환경에서 관찰 가능성을 제공하는 CNCF(Cloud Native Computing Foundation) 프로젝트입니다.

Tekton Pipelines

JAEGER 구성 요소

Agent

  • 애플리케이션에서 보낸 추적 데이터를 수집하고 Collector로 전송하는 데 사용되는 네트워크 데몬입니다. UDP 프로토콜을 사용하여 데이터 전송의 효율성을 높입니다.

Collector

  • Agent로부터 받은 추적 데이터를 처리하고, 이를 저장소(예: Elasticsearch, Cassandra)에 저장합니다. 데이터 유효성을 확인하고 필터링하거나 전처리하는 역할을 합니다.

Storage Backend

  • 추적 데이터를 영구적으로 저장하는 데이터베이스입니다. Jaeger는 Elasticsearch, Cassandra, Kafka 등을 지원합니다.

Query Service

  • 사용자가 저장된 추적 데이터를 조회할 수 있도록 하는 API 서비스입니다. Jaeger UI나 기타 클라이언트를 통해 데이터에 접근할 수 있습니다.

Jaeger UI

  • 추적 데이터를 시각화하고, 트랜잭션 흐름을 분석하며, 병목현상을 식별할 수 있도록 하는 웹 기반 사용자 인터페이스입니다.

Instrumentation

  • 애플리케이션 코드에 분산 추적 데이터를 생성하기 위한 라이브러리 및 SDK를 통합하는 작업입니다. OpenTelemetry와 같은 표준을 통해 추적 데이터를 생성합니다.

JAEGER 블로그

더보기 »

JAEGER 리소스

더보기 »

JAEGER 쉽게 이해하기

JAEGER는 분산 시스템에서 발생하는 문제를 추적하고 성능을 개선하기 위한 오픈소스 도구입니다.

  • 분산 추적은 애플리케이션의 요청이 여러 서비스 간에 어떻게 이동하는지 추적
  • 병목현상 분석은 각 서비스에서 성능 문제를 유발하는 지점을 찾아냄
  • 시각화 도구를 제공함으로 흐름을 한눈에 볼 수 있도록 데이터를 그래프로 시각화

쉽게 말해, Jaeger는 복잡한 마이크로서비스 환경에서 서비스 간 통신을 추적하고 문제를 해결할 수 있도록 돕는 똑똑한 도구입니다!

JAEGER 시작과 배경

JAEGER는 Uber Technologies에서 Yuri Shkuro와 그의 팀에 의해 2015년에 개발되었습니다. Google의 Dapper 논문에서 영감을 받아 시작되었으며, 이후 CNCF(Cloud Native Computing Foundation)의 프로젝트로 채택되었습니다. JAEGER는 오픈소스 도구로, 마이크로서비스 아키텍처의 관찰 가능성을 개선하고 분산 시스템 문제를 해결하기 위해 탄생했습니다.

JAEGER 시작

JAEGER 배경

JAEGER 주요 특징

JAEGER는 분산 시스템의 요청 흐름을 엔드투엔드로 추적하여 서비스 간의 통신을 시각화하고, 성능 병목현상을 신속히 식별할 수 있도록 돕습니다. 서비스 의존성 분석, 트랜잭션 모니터링, 실시간 데이터 수집 및 시각화를 통해 마이크로서비스 환경에서의 문제 진단과 운영 효율성을 크게 향상시킵니다. 이를 기반으로 JAEGER는 클라우드 네이티브 환경에서 필수적인 오픈소스 분산 추적 시스템으로 널리 사용되고 있습니다.

특징 설명 이점
분산 추적 애플리케이션의 요청 흐름을 엔드투엔드로 추적하여 각 서비스 간 요청 전파를 시각화합니다 서비스 간 요청 흐름을 명확히 파악하고 문제 발생 지점을 빠르게 식별할 수 있음
트랜잭션 병목현상 분석 각 서비스에서 성능 문제가 발생하는 지점을 식별하고 원인을 추적합니다. 성능 최적화를 통해 사용자 경험을 개선하고 시스템의 효율성을 증대할 수 있음
서비스 의존성 분석 서비스 간의 종속성과 호출 관계를 그래프로 시각화하여 전체 구조를 명확히 이해할 수 있습니다. 복잡한 마이크로서비스 환경에서 의존성 문제를 쉽게 파악하고 설계를 최적화할 수 있음
다양한 저장소 지원 Elasticsearch, Cassandra, Kafka 등 여러 저장소와의 통합을 지원합니다. 유연한 데이터 저장 및 다양한 스토리지 옵션 활용 가능, 환경에 따라 최적화 가능
실시간 데이터 처리 요청 데이터를 실시간으로 수집, 분석하여 운영 환경에서 즉각적인 대응이 가능합니다. 빠른 문제 탐지와 해결을 통해 시스템 가용성을 유지하고 다운타임을 줄일 수 있음
시각화 도구 (Jaeger UI) 요청 흐름, 지연 시간, 서비스 종속성 등을 시각화하여 문제를 직관적으로 분석할 수 있습니다. 사용자 친화적인 인터페이스로 성능 병목현상과 요청 상태를 쉽게 파악 가능
OpenTelemetry 호환 OpenTelemetry 표준을 준수하여 다양한 추적 도구 및 데이터 수집 라이브러리와 통합 가능. 기존 시스템과 통합이 용이하며, 오픈소스 생태계를 활용해 확장성 높은 환경 구축 가능
확장 가능한 아키텍처 대규모 트래픽과 데이터 처리량을 처리할 수 있도록 설계된 구조로, 클라우드 네이티브 환경에서 적합합니다. 증가하는 시스템 요구사항에 맞춰 쉽게 확장 가능하여 운영 효율성 보장
오픈소스 기반 Apache 2.0 라이선스를 제공하며 누구나 사용, 수정, 배포할 수 있습니다. 비용 절감과 커뮤니티 지원을 통해 기업과 개인 모두 쉽게 도입 가능
디버깅 지원 분산 시스템의 복잡한 문제를 빠르게 분석하고 디버깅할 수 있는 데이터와 도구를 제공합니다. 문제 해결 시간을 단축하고 서비스 품질을 높일 수 있음

JAEGER 경쟁 제품

JAEGER와 경쟁 제품들의 특성과 사용 사례를 비교하여, 각각의 도구가 어떤 환경에서 가장 적합한지 쉽게 이해할 수 있도록 구성했습니다. 기업의 규모와 요구사항에 따라 오픈소스를 선호한다면 JAEGER나 OpenTelemetry를, SaaS 기반 솔루션을 원한다면 Datadog이나 Dynatrace를 선택할 수 있습니다.

제품명 주요 기능 장점 단점 주요 사용 사례
Zipkin 분산 추적, 서비스 호출 관계 시각화, 샘플링 기능 경량화된 구조, 빠른 배포 가능, 다양한 언어 지원 대규모 시스템에서는 데이터 처리와 저장소의 확장성이 부족할 수 있음 소규모 또는 중소형 마이크로서비스 아키텍처에서 요청 흐름 추적
New Relic 애플리케이션 모니터링(APM), 분산 추적, 사용자 경험 모니터링 강력한 대시보드, 비즈니스 지표 추적 가능, SaaS 기반으로 빠른 시작 가능 비용이 비싸고, 자체 인프라 구축이 어려움 대규모 기업 환경에서 전사적 애플리케이션 모니터링과 비즈니스 지표 분석
Dynatrace APM, 자동화된 분산 추적, AI 기반 문제 진단 자동화된 문제 탐지, 성능 최적화 추천, 뛰어난 통합 기능 고비용, 사용자의 요구에 맞게 커스터마이징하기 어렵다는 단점 클라우드 네이티브 및 컨테이너 기반 대규모 시스템에서 자동화된 성능 모니터링 및 최적화
Lightstep 분산 추적, 마이크로서비스 성능 분석, 서비스 지연 탐지 대규모 분산 시스템에서도 안정적인 데이터 수집, 시각화가 매우 직관적 신생 기업들이 도입하기에 상대적으로 높은 가격대 글로벌 분산 시스템에서 서비스 간 지연 시간 및 병목현상 분석
Prometheus 시계열 데이터 수집, 알림 설정, 대시보드 제공 뛰어난 모니터링 기능, Grafana와 연동 가능, 경량화된 설치 분산 추적보다는 시스템 모니터링에 초점이 맞춰져 있음 서버 성능, 네트워크 상태, 인프라 메트릭 모니터링
Elastic APM 성능 모니터링, 트랜잭션 추적, 로그 분석 Elasticsearch와의 강력한 통합, 로그, 메트릭, 추적 데이터의 통합 분석 가능 Elasticsearch 설치가 필수로, 설정이 복잡할 수 있음 로그, 메트릭, 추적 데이터를 통합 분석하여 대규모 웹 애플리케이션의 성능을 최적화
AppDynamics APM, 실시간 비즈니스 지표 모니터링, 문제 진단 강력한 사용자 경험 모니터링, 비즈니스 중심 분석 가능 높은 가격대와 복잡한 설정 금융 및 전자상거래 환경에서 사용자 중심 성능 모니터링 및 문제 분석
Datadog APM 인프라 모니터링, 분산 추적, 로그 관리 올인원 플랫폼으로 간편한 설정과 통합 가능, 확장성 높음 고비용, 오픈소스 생태계와는 다소 거리가 멈 클라우드 환경 및 컨테이너 기반 애플리케이션에서 인프라와 서비스 추적 통합 관리
OpenTelemetry 분산 추적 표준 도구, 메트릭 및 로그 데이터 수집 Jaeger 및 Prometheus와 통합 가능, 커뮤니티 지원 강력 데이터 시각화 도구는 별도로 설치해야 함 오픈소스 기반 분산 시스템에서 추적 데이터를 표준화 및 통합 분석

JAEGER 레퍼런스

Red Hat

우버

데브시스터즈

Tencent