Post
EN

Spring와 micrometer Tracing

Spring Boot Actuator × Micrometer Tracing × OpenTelemetryでトレーシング - CLOVER🍀

これは、なにをしたくて書いたもの? Spring BootでOpenTelemetryを扱ってみようかなと思って調べてみると、トレーシングまわりの事情がいろいろ変わっているようなので いい機会だなと思って試してみることにしました。 Spring Cloud Sleuth Springを使ったアプリケーションのトレーシングといえばSpring Cloud Sleuthだと思いますが、これはMicrometer Tracingへ移されたようです。 Spring Cloud Sleuth’s last minor version is 3.1. You can check the 3.1.x bra…

MICROMETER

https://micrometer.io/docs/tracing

istio를 사용하면 분산 tracing을 위한 설정을 애플리케이션에 설치하지 않아도 되는가?

Istio와 같은 서비스 메시를 사용하면 애플리케이션 수준에서 분산 트레이싱을 위한 라이브러리를 추가하지 않고도 분산 트레이싱을 할 수 있는 큰 이점이 있습니다.

Istio는 Envoy 프록시를 사용하여 서비스 간의 모든 네트워크 트래픽을 처리합니다. 이 Envoy 프록시는 자동으로 트레이스 데이터를 수집하고 구성된 트레이싱 백엔드(예: Jaeger, Zipkin 등)로 보내 기록할 수 있도록 해줍니다. 이 과정에서 각 요청에 대한 trace id와 span id를 생성 및 주입하여, 요청이 서비스 메시 내의 다양한 서비스를 통과할 때 추적 가능하게 만듭니다.

Istio를 사용하면 애플리케이션 코드에 변경을 가하지 않고도 분산 트레이싱을 활성화할 수 있습니다. 이를 위해서는 Istio에서 분산 트레이싱을 지원하도록 설치 및 구성해야 합니다.

Istio에 분산 트레이싱을 설정하는 방법은 다음과 같습니다:

- Istio 설치 시 분산 트레이싱 설정 활성화: Istio 설치 과정에서 트레이싱 관련 구성 옵션을 지정하여 분산 트레이싱 기능을 활성화합니다.

- 트레이싱 백엔드 설정: Jaeger, Zipkin 등의 트레이싱 백엔드를 설치하고 이를 Istio가 사용하도록 구성합니다.

- Envoy 프록시 구성: Istio의 Envoy 프록시가 트레이싱 데이터를 수집하고, 해당 트레이싱 백엔드로 보낼 수 있도록 istio-proxy 컨테이너에 필요한 환경 변수를 설정합니다.

Istio를 사용하여 분산 트레이싱을 구현하면, 애플리케이션 코드를 수정하지 않아도 서비스 간의 요청을 추적하고 성능 문제나 오류를 분석할 수 있습니다. 이는 마이크로서비스 아키텍처를 운영할 때 큰 이점을 제공하며, 개발자는 애플리케이션 기능 개발에 더 집중할 수 있게 해줍니다.

This article is licensed under CC BY 4.0 by the author.