Observability 스택 구성

지원 버전: Loki 3.0+, Tempo 2.4+, Prometheus 2.50+, Grafana 10.0+ 마지막 업데이트: 2026년 2월 23일

< 이전: 관측성 분석 | 목차 | 다음: 리소스 최적화 >


1. 관측성 스택 아키텍처

1.1 Full Stack 개요

현대적인 관측성 스택은 세 가지 핵심 데이터 유형(메트릭, 로그, 트레이스)을 수집하고 분석하는 통합 플랫폼입니다.

┌─────────────────────────────────────────────────────────────────────────────┐
│                           Grafana (Visualization)                            │
│  ┌──────────────┐  ┌──────────────┐  ┌──────────────┐  ┌──────────────┐     │
│  │   Metrics    │  │    Logs      │  │   Traces     │  │  Dashboards  │     │
│  │   Explorer   │  │   Explorer   │  │   Explorer   │  │   & Alerts   │     │
│  └──────┬───────┘  └──────┬───────┘  └──────┬───────┘  └──────────────┘     │
└─────────┼─────────────────┼─────────────────┼───────────────────────────────┘
          │                 │                 │
          ▼                 ▼                 ▼
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│   Prometheus    │ │      Loki       │ │      Tempo      │
│      / AMP      │ │   (Log Store)   │ │  (Trace Store)  │
│  (Metric Store) │ │                 │ │                 │
└────────┬────────┘ └────────┬────────┘ └────────┬────────┘
         │                   │                   │
         │         ┌─────────┴─────────┐         │
         │         │                   │         │
         ▼         ▼                   ▼         ▼
┌─────────────────────────────────────────────────────────────────────────────┐
│                        Collectors & Agents                                   │
│  ┌──────────────┐  ┌──────────────┐  ┌──────────────┐  ┌──────────────┐     │
│  │  Prometheus  │  │   Promtail   │  │    OTEL      │  │   Grafana    │     │
│  │   Scraper    │  │   DaemonSet  │  │  Collector   │  │    Alloy     │     │
│  └──────────────┘  └──────────────┘  └──────────────┘  └──────────────┘     │
└─────────────────────────────────────────────────────────────────────────────┘


┌─────────────────────────────────────────────────────────────────────────────┐
│                        Applications & Infrastructure                         │
│  ┌──────────────┐  ┌──────────────┐  ┌──────────────┐  ┌──────────────┐     │
│  │    Pods      │  │   Services   │  │    Nodes     │  │   Control    │     │
│  │  (metrics,   │  │  (endpoints) │  │  (kubelet,   │  │    Plane     │     │
│  │  logs, traces)│ │              │  │   cAdvisor)  │  │              │     │
│  └──────────────┘  └──────────────┘  └──────────────┘  └──────────────┘     │
└─────────────────────────────────────────────────────────────────────────────┘

1.2 컴포넌트 역할

컴포넌트
역할
데이터 유형
스토리지

Prometheus/AMP

메트릭 수집 및 저장

시계열 메트릭

AMP (관리형)

Loki

로그 집계 및 쿼리

로그 스트림

S3

Tempo

분산 트레이싱

스팬/트레이스

S3

Grafana

시각화 및 분석

통합 뷰

-

OTEL Collector

텔레메트리 수집/변환

메트릭, 로그, 트레이스

-

1.3 스토리지 백엔드 선택


2. Loki 운영 가이드

2.1 Helm 설치

Loki는 클러스터 규모에 따라 두 가지 배포 모드를 지원합니다.

SimpleScalable 모드 (소/중규모)

일일 로그 수집량 100GB 미만의 환경에 적합합니다.

Distributed 모드 (대규모)

일일 로그 수집량 100GB 이상의 환경에 적합합니다.

2.2 Loki Distributed Helm Values

2.3 로그 수집기: Promtail vs Grafana Alloy

Promtail DaemonSet 설정

Grafana Alloy 설정

Grafana Alloy는 Promtail, OTEL Collector의 기능을 통합한 차세대 수집기입니다.

2.4 레이블 설계 전략

효율적인 Loki 운영을 위한 레이블 설계는 매우 중요합니다.

권장 레이블

피해야 할 레이블

카디널리티 관리 가이드라인

레이블 유형
최대 권장 값
설명

namespace

< 50

클러스터당 네임스페이스 수

app

< 200

총 애플리케이션 수

container

< 5

앱당 컨테이너 수

총 스트림

< 10,000

전체 고유 레이블 조합

2.5 리텐션 정책 설정

테넌트별 리텐션 오버라이드:

2.6 인덱스 및 청크 최적화

청크 인코딩 비교:

인코딩
압축률
CPU 사용량
사용 케이스

snappy

중간

낮음

일반적인 사용 (권장)

gzip

높음

높음

스토리지 비용 최적화

lz4

낮음

매우 낮음

고성능 요구 환경

none

없음

없음

테스트용

2.7 LogQL 쿼리 패턴

서비스별 에러율

구조화된 로그에서 지연시간 추출

로그 볼륨 분석

패턴 매칭 쿼리

2.8 알림 규칙 설정

알림 규칙 정의:


3. Tempo 운영 가이드

3.1 Helm 설치

3.2 Tempo Distributed Helm Values

3.3 OTEL Collector 설정

OTEL Collector Deployment:

3.4 샘플링 전략

Head-based 샘플링 (확률적)

Tail-based 샘플링 (조건부)

3.5 TraceQL 쿼리 예제

3.6 서비스 그래프 설정

3.7 Trace-to-Log 연동

애플리케이션에서 traceID를 로그에 포함:

3.8 스팬 메트릭 생성기

생성되는 메트릭:


4. Prometheus/AMP 운영

4.1 AMP 워크스페이스 설정

4.2 Remote Write 설정

4.3 Recording Rules 최적화

4.4 장기 보존 전략

기능
AMP
Thanos

관리

완전 관리형

자체 운영

보존 기간

150일 (기본)

무제한

비용 모델

샘플당 과금

S3 스토리지 + 컴퓨팅

다운샘플링

자동

설정 필요

고가용성

내장

Ruler, Store HA 설정 필요

멀티클러스터

네이티브 지원

Sidecar/Receive 설정 필요

운영 복잡도

낮음

높음

4.5 멀티클러스터 Federation


5. Grafana 연동

5.1 데이터소스 프로비저닝

5.2 Loki → Tempo 연동 (Derived Fields)

Loki 데이터소스의 Derived Fields를 사용하여 로그에서 트레이스로 이동:

5.3 Tempo → Loki 연동 (Trace to Logs)

5.4 Exemplars 설정

Prometheus 메트릭에서 Tempo 트레이스로 연결:

애플리케이션 코드에서 Exemplar 추가:

5.5 대시보드 프로비저닝


관련 문서


< 이전: 관측성 분석 | 목차 | 다음: 리소스 최적화 >

마지막 업데이트