23장. 분산 추적 소개
분산 추적은 분산 시스템의 애플리케이션 간 트랜잭션 진행 상황을 추적합니다. 마이크로 서비스 아키텍처에서 추적은 서비스 간 트랜잭션 진행 상황을 추적합니다. 추적 데이터는 애플리케이션 성능을 모니터링하고 대상 시스템 및 최종 사용자 애플리케이션 관련 문제를 조사하는 데 유용합니다.
AMQ Streams에서 추적은 소스 시스템에서 Kafka로 보낸 다음 Kafka에서 대상 시스템 및 애플리케이션까지 메시지의 엔드 투 엔드 추적을 용이하게 합니다. 분산 추적은 Grafana 대시보드의 메트릭 모니터링과 구성 요소 로거를 보완합니다.
추적 지원은 다음 Kafka 구성 요소에 빌드됩니다.
- 소스 클러스터에서 대상 클러스터로 메시지를 추적하는 MirrorMaker
- Kafka Connect에서 사용하고 생성하는 메시지를 추적하기 위한 Kafka 연결
- Kafka 및 HTTP 클라이언트 애플리케이션 간 메시지 추적을 위한 Kafka 브리지
Kafka 브로커에서는 추적이 지원되지 않습니다.
사용자 정의 리소스를 통해 이러한 구성 요소에 대한 추적을 활성화하고 구성합니다. spec.template 속성을 사용하여 추적 구성을 추가합니다.
spec.tracing.type 속성을 사용하여 추적 유형을 지정하여 추적을 활성화합니다.
OpenTelemetry-
OpenTelemetry를 사용하려면
type: opentelemetry를 지정합니다. 기본적으로 OpenTelemetry는 OTLP(OpenTelemetry Protocol) 내보내기 및 끝점을 사용하여 추적 데이터를 가져옵니다. Jaeger 추적을 포함하여 OpenTelemetry에서 지원하는 다른 추적 시스템을 지정할 수 있습니다. 이렇게 하려면 추적 구성에서 OpenTelemetry 내보내기 및 끝점을 변경합니다.
AMQ Streams는 더 이상 OpenTracing을 지원하지 않습니다. 이전에 type: jaeger 옵션과 함께 OpenTracing을 사용하는 경우 대신 OpenTelemetry를 사용하도록 전환하는 것이 좋습니다.
23.1. 추적 옵션 링크 복사링크가 클립보드에 복사되었습니다!
Jaeger 추적 시스템과 함께 OpenTelemetry를 사용합니다.
OpenTelemetry는 추적 또는 모니터링 시스템과 독립적인 API 사양을 제공합니다.
API를 사용하여 추적을 위한 애플리케이션 코드를 계측합니다.
- 조정된 애플리케이션은 분산 시스템에서 개별 요청에 대한 추적 을 생성합니다.
- 추적은 시간이 지남에 따라 특정 작업 단위를 정의하는 범위로 구성됩니다.
Jaeger는 마이크로 서비스 기반 분산 시스템의 추적 시스템입니다.
- Jaeger 사용자 인터페이스를 사용하면 추적 데이터를 쿼리, 필터링 및 분석할 수 있습니다.
간단한 쿼리를 표시하는 Jaeger 사용자 인터페이스