Loki 란?
Loki는 Grafana Labs에서 개발한 로그 수집, 저장 시스템으로 Prometheus와 유사한 방식으로 작동하는 로그 수집 솔루션이다.
Prometheus가 메트릭을 담당한다면
Loki는 로그를 담당한다
특징
| 특징 | 설명 |
| 라벨 기반 | 로그를 라벨로 구분하여 효율적으로 관리 |
| 빠른 검색 | 로그 전체가 아니라 메타데이터만 인덱싱하고 실제 로그는 압축 저장하여 빠른 검색 가능 |
| 실시간 시각화 | Grafana와 연동해 로그를 실시간으로 검색, 필터링, 시각화 가능 |
Loki의 기본 구조
Logback -> Loki -> Grafana
- 애플리케이션(Logback)이 로그를 남김
- Loki는 이를 수집하고 저장
- Grafana에서 실시간 조회/검색
Tempo란?
Tempo는 Grafana Labs에서 만든 분산 트레이싱 백엔드 이다.
서비스 간 요청 흐름을 저장하고 Grafana에서 시각화할 수 있도록 지원한다.
Loki가 로그를 Prometheus가 메트릭을 담당한다면 Tempo는 트레이스를 담당한다.
개념
| 개념 | 설명 | 예시 |
| Trace | 하나의 요청이 시스템 전체를 타고 흐른 경로 | 사용자가 상품 주문 API 호출시, 주문 -> 결제 -> 재고 서비스까지의 전체 흐름 |
| Span | 요청 처리 과정의 한 구간 | 주문 서비스 처리 시간 |
| Trace ID / Span ID | 요청 흐름을 추적할 수 있는 고유 식별자 | trace_id=abc123 |
| Sampling | 모든 요청을 저장하는 대신 일부만 선택 저장 | 트래픽이 많은 환경에서 스토리지 절감 목적 |
동작 흐름
OTel Java Agent -> OpenTelemetry Collector -> Tempo -> Grafana
- OpenTelemetry Java Agent가 Trace 데이터 생성
- Collector 가 Trace 데이터를 Tempo로 전송
- Tempo는 Trace ID 기준으로 저장
- Grafana에서 요청의 흐름을 시각화하여 병목 지점을 분석
로그와 달리 Trace는 요청 단위로 전체 경로를 파악할 수 있어서 장애 분석과 성능 최적화에 유용하다.
'모니터링 환경 구축하기' 카테고리의 다른 글
| 오픈소스로 모니터링 환경 구축하기(7) - 전체 아키텍처, 흐름도 (0) | 2025.10.11 |
|---|---|
| 오픈소스로 모니터링 환경 구축하기(6) - Grafana (0) | 2025.10.11 |
| 오픈소스로 모니터링 환경 구축하기(5) - Loki + Tempo + Prometheus 조합 (0) | 2025.10.11 |
| 오픈소스로 모니터링 환경 구축하기(2) - OpenTelemetry (0) | 2025.10.11 |
| 오픈소스로 모니터링 환경 구축하기(1) - Logback 로깅 전략 정비 및 MDC 표준화 (0) | 2025.10.11 |