본문 바로가기
모니터링 환경 구축하기

오픈소스로 모니터링 환경 구축하기(7) - 전체 아키텍처, 흐름도

by fiat_lux 2025. 10. 11.

이번 글은 시리즈의 마지막으로 지금까지 구축한 오픈소스 모니터링 환경의 전체 구조를 정리한다.

 

전체 아키텍처 개요


요청 및 데이터 흐름도

1. 사용자가 API를 호출한다
        │
2. Application(Spring Boot)에서 요청 처리
        │
        ├─ Logback → 로그 생성
        │    └─ MDC(trace_id, span_id) 포함
        │
        ├─ OTel Java Agent → Trace 데이터 생성
        │
        └─ Micrometer → Metrics 노출
              │
3. OpenTelemetry Collector가 수집
        │
        ├─ Metrics → Prometheus
        ├─ Logs → Loki
        └─ Traces → Tempo
              │
4. Grafana에서 통합 시각화
        │
        ├─ Prometheus → 실시간 지표 (CPU, 요청 수, 에러율 등)
        ├─ Loki → 로그 검색 및 필터링
        └─ Tempo → 요청 트레이스 시각화
              │
5. trace_id 기준으로 로그–트레이스–메트릭 연결
        │
6. Alertmanager → 이상 징후 발생 시 알림 발송

 

 

각 구성 요소 역할 요약

구성 요소 역할 데이터
Application (Spring Boot) 로그, 트레이스, 메트릭 발생지 Logback + Micometer + OTel
OTel Collector 수집 파이프라인 Receiver / Processor / Exporter
Prometheus 메트릭 저장 및 알람 트리거 CPU, 요청 수, 에러율 등
Loki 로그 저장 및 필터링 MDC 기반 로그
Tempo 트레이스 저장 및 조회 Trace/Span
Grafana 통합 시각화 허브 메트릭, 로그, 트레이스
Alertmanager 알람 발송 Slack, Email 등

 

 

마무리

  1. Logback 로깅 전략 표준화 (OTel MDC)
  2. Prometheus로 메트릭 수집 및 알람 설정
  3. Loki로 라벨 기반 로그 수집
  4. Tempo로 요청 트레이스 추적
  5. Grafana로 데이터 통합 시각화
  6. Alertmanager로 이상 감지 자동화
  7. 전체 아키텍처 정리