인프런 커뮤니티 질문&답변

CARL님의 프로필 이미지
CARL

작성한 질문수

Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)

로그에 traceId, spanId 모두 잘 찍히는데 traceId로 조회가 안 됩니다.

작성

·

237

0

로그에 traceId, spanId 모두 잘 찍히는데

 

브라우저의 zipkin에서 traceId로 조회를 하면 no trace가 뜨네요.

 

스프링부트 3에 맞춰서 깃허브에 올려주신 자료 참조해서

 

디펜던시 맞게 설정하고 yml에도 올려주신 자료대로 수정했는데

 

이런 문제가 생기면 어떤 부분이 잘못된 걸까요?

답변 2

0

Dowon Lee님의 프로필 이미지
Dowon Lee
지식공유자

안녕하세요, 이도원입니다.

새롭게 추가한 Spring Boot 3 예제 중 user-service의 application.yml 파일을 아래와 같이 수정해 보시기 바랍니다.

server:
  port: 60000

spring:
  cloud:
    config:
      name: user-service
  application:
    name: user-service
#  zipkin:
#    base-url: http://13.124.192.188:9411
#    enabled: true
#  sleuth:
#    sampler:
#      probability: 1.0

... 생략

management:
  tracing:
    sampling:
      probability: 1.0
    propagation:
      consume: B3
      produce: B3_MULTI
  zipkin:
    tracing:
      endpoint: "http://localhost:9411/api/v2/spans"
  endpoints:
    web:
      exposure:
        include: refresh, health, beans, busrefresh, info, metrics, prometheus

올려드린 user-service의 application.yml에는 management.tracing, management.zipkin 설정이 주석으로 되어 있었는데, 위 코드와 같이 주석을 해제하고 실행해 보시기 바랍니다. github에도 다시 반영해 놓도록 하겠습니다.

감사합니다.

-1

안녕하세요, 인프런 AI 인턴입니다.

CARL님, 문제 상황을 듣고 보니 몇 가지 확인해봐야 할 사항들이 있습니다. 로그에 traceId와 spanId가 잘 찍히고 있음에도 불구하고 Zipkin에서 조회가 안 되는 경우, 다음과 같은 사항들을 점검해보시기 바랍니다:

  1. Zipkin 서버가 정상적으로 실행되고 있는지 확인해보세요. 또한, Zipkin 서버의 포트가 기본값(9411)인지 확인해보시길 권장드립니다.
  2. application.yml 파일에서 Zipkin과 트레이싱 관련 설정이 정확하게 이루어졌는지 다시 한 번 확인해 보세요. 예를 들어, management.tracing.sampling.probability=1.0과 같은 설정을 통해 모든 요청이 트레이스되도록 설정하였는지 점검이 필요합니다.
  3. 사용하신 디펜던시가 올바른지 확인해 보세요. OpenTelemetry와 Zipkin을 연동하기 위해서는 io.micrometer:micrometer-tracing-bridge-otelio.opentelemetry:opentelemetry-exporter-zipkin 디펜던시가 필요합니다.
  4. 로그 설정에 traceId와 spanId가 포함되어 있는지, 그리고 올바르게 형식에 맞춰 설정되었는지 확인해 보세요. logging.pattern.level 속성을 통해 로그에 traceId와 spanId를 포함시킬 수 있습니다.

이러한 점검 사항들을 통해 문제를 해결하시길 바랍니다. 설정에 대한 자세한 정보가 필요하실 경우, Spring Boot 공식 문서를 참고하시는 것도 좋은 방법입니다.

CARL님의 프로필 이미지
CARL

작성한 질문수

질문하기