[인프라]Jaeger 란?
- 인프라
- 2022. 7. 30. 09:02
참고
- https://www.jaegertracing.io/
- https://www.redhat.com/ko/topics/microservices/what-is-jaeger
- https://twofootdog.tistory.com/67
개요
- 분산 추적을 보다 쉽게 도와주는 서비스인 Jaeger 에 대해서 알아 봅니다.
분산 추적이란?
- 분산 추적은 마이크로 서비스 간 복잡한 상호 작용에서 이벤트 전체를 파악하는 방식입니다.
- 현대적인 클라우드 네이티브 소프트웨어 개발은 각기 다른 핵심 기능을 제공하는 개별 서비스인 마이크로서비으세 의존합니다.
- 사용자가 애플리케이션에서 요청을 보내면 여러 개별 서비스가 이에 응답하여 결과를 생성합니다.
- 애플리케이션에서의 단 한번의 호출로 상호 작용하는 수샙 개의 서로 다른 서비스가 실행 될 수도 있습니다.
- 어떤 문제가 발생하거나 요청의 실행 속도가 느릴 경우 개발자와 엔지니어가 문제를 파악하기 위해서는 모든 연결을 추적할 수 있는 방식이 필요합니다.
- Jaeger는 분산 추적을 사용해 다양한 마이크로서비스의 요청 경로를 추적하기 때문에 모호하게 추측하는 것이 아니라 실제 요청 흐름을 시각적으로 확인할 수 있습니다.
Jaeger 란?
- Jaeger 는 분산 서비스간 트랜잭션을 추적하는 오픈소스 소프트웨어로 복잡한 마이크로 서비스 환경을 모니터링 하는데 사용됩니다.
- 클라우드 네이티브 소프트웨어에서는 사용자가 애플리케이션에 요청을 보내면 요청에 맞는 개별의 마이크로서비스가 이에 응답하여 결과를 생성합니다.
- 따라서 단 한번의 호출로 이와 관련된 여러개의 서로 다른 마이크로 서비스가 실행될 수 있기 때문에, 에러나 속도 지연 등의 문제가 발생할 경우 문제를 파악하기 위해서는 모든 연결을 추적할 수 있어야 하며, 이때 사용할 수 있는 오픈소스 소프트웨어가 Jaeger 입니다.
Jaeger 용어 및 구성 요소
Jaeger 용어
- Trace : 시스템을 통하는 데이터/실행 결고, 1개 이상의 Span 으로 이러여져 있습니다. 클라이언트가 특정 기능 요청 후 응답을 리턴 받을 때 까지는 Trace 라고 합니다.
- Sapn : Jaeger 의 논리적인 작업단위. 각 Span 에는 작업명, 시작 시간, 기간 등의 정보가 포함되어 있습니다.
Jaeger 구성 요소
- Jaeger Client : 분산 추적을 위한 OpenTracing API 의 언어별 구현이 포함되어 있습니다. 수동으로 사용하거나 다양한 오픈소스 프레임워크와 함께 사용할 수 있습니다.
- Jaeger Agent : 사용자 데이터그램 프로토콜을 통해 전송된 스팬을 수신하는 네트워크 데몬으로, 계측된 애플리케이션과 동일한 호스트에 배치됩니다. 일반적으로 쿠버네티스와 같은 컨테이너 환셩의 사이드카를 통해 구현됩니다.
- Jaeger Collector : 프로세싱을 위해 스팬을 수신하여 대기열에 배치합니다. Collector 에는 영구 스토리지 백엔드가 필요하기 때문에 Jaeger 에는 스팬 스토리지용 플러그 가능 메커니즘이 있습니다.
- Query : 스토리지에서 추적을 검색하는 서비스입니다.
- Jaeger Console : 분산된 추적 데이터를 시각화하는 사용자 인터페이스입니다.
728x90
'인프라' 카테고리의 다른 글
[인프라] Loki 란? (0) | 2022.08.19 |
---|---|
[Infra] OpenTelemetry 및 Prometheus 연동하기 (0) | 2022.08.19 |
[인프라] Jaeger, OpenTelemetry, Grafana 연동 (0) | 2022.07.31 |
[인프라] Zipkin 이란? (0) | 2022.07.29 |
이 글을 공유하기