Grafana·Tempo로 분산 트레이싱 관찰 가능성 개선
목차
분산 트레이싱 추가 (Micrometer Brave + Zipkin → Tempo)
2026-04-03에 관찰 가능성 스택에 기능을 추가하거나 설정을 개선했음.
운영 중 서버 상태를 실시간으로 확인하려면 메트릭 수집 구조가 안정적이어야 함. Spring Boot Actuator에서 /actuator/prometheus 엔드포인트로 메트릭을 노출하고, Prometheus가 주기적으로 긁어가는 구조로 돼 있음.
작업 내용
- Prometheus 타겟 설정 추가 또는 수정
- Grafana datasource 또는 대시보드 갱신
- Zipkin/Tempo 연동 endpoint 조정
management:
endpoints:
web:
exposure:
include: health,prometheus
metrics:
export:
prometheus:
enabled: true
Actuator 엔드포인트는 외부에 노출되면 안 되니까 IP 필터로 허용 목록만 통과시키도록 별도 필터를 달아뒀음. 설정 파일에서 YAML 공백 파싱 문제로 한 번 막혔었는데, trim() 처리 추가하고 해결됐음.
끝
작업 규모는 크지 않았지만 운영 안정성을 위한 필요한 변경이었음. 이런 작은 수정들이 쌓여서 전체 시스템의 신뢰도를 높임.
분산 트레이싱의 실제 활용
Micrometer Brave + Zipkin 조합으로 요청 흐름을 추적할 수 있음. 트레이스 ID가 있으면 여러 서버에 분산된 로그를 하나의 요청 흐름으로 묶어볼 수 있음.
Tempo에서 Grafana로 트레이스를 연동하면 메트릭 스파이크와 요청 트레이스를 함께 보면서 원인 분석이 가능함. "이 시간에 응답 느려진 이유가 뭔지" 바로 드릴다운 가능.
샘플링 비율 설정이 중요함. 100%로 하면 비용과 저장 용량이 너무 커지고, 너무 낮으면 문제 재현이 안 됨. 1~5% 정도가 일반적임.
다음
댓글 0
첫 댓글 달아줘.