사이드프로젝트 slecs

Prometheus·Tempo·Grafana 관찰 가능성 스택 설정 개선

목차

Prometheus host 네트워크 모드 + Tempo scp 파일 정리 + datasource URL 수정

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

첫 댓글 달아줘.