πŸ“– λͺ¨λ‹ˆν„°λ§ κ°•μ˜ λ…ΈνŠΈ 인덱슀

μˆ˜μ—… λ‚΄μš© 기반 체계적 정리

2025λ…„ 12μ›” 9일 μˆ˜μ—… λ‚΄μš©μ„ λ°”νƒ•μœΌλ‘œ Exporter κ°œλ…λΆ€ν„° Istio ν†΅ν•©κΉŒμ§€ μ •λ¦¬ν•œ 싀무 λͺ¨λ‹ˆν„°λ§ κ°€μ΄λ“œ

🎯 μ‹œλ¦¬μ¦ˆ κ°œμš”

πŸ’‘ ν•™μŠ΅ λͺ©ν‘œ

핡심 이해:
  - Exporterκ°€ μ™œ ν•„μš”ν•œμ§€ μ™„μ „ 이해
  - κ΄€μΈ‘μ„± 3λŒ€ μΆ• (Metrics/Logs/Traces) νŒŒμ•…
  - λΈ”λž™λ°•μŠ€ λͺ¨λ‹ˆν„°λ§μ˜ ν•„μš”μ„±
  - Istio ν™˜κ²½μ—μ„œμ˜ λͺ¨λ‹ˆν„°λ§ 톡합
 
싀무 적용:
  - νŠΈλ ˆμ΄λ“œμ˜€ν”„ κ΄€μ μ—μ„œ 도ꡬ 선택
  - 4 Golden Signals 기반 λͺ¨λ‹ˆν„°λ§
  - μ˜¬λ°”λ₯Έ μ„€μΉ˜ μˆœμ„œ 이해
  - 문제 ν•΄κ²° λŠ₯λ ₯ λ°°μ–‘

πŸ“š ν•™μŠ΅ 흐름

κ°œλ… β†’ νŒλ‹¨ β†’ 도ꡬ β†’ 톡합 β†’ 싀무
  ↓       ↓      ↓      ↓       ↓
 01-02  06-07  04-05  08-09   μ‹€μ „

πŸ“‹ μ‹œλ¦¬μ¦ˆ ꡬ성

πŸ“– 01편: Exporter κ°œλ…

파일: 01-Exporter-κ°œλ…

핡심 질문

β€œRedisλ‚˜ MySQL λͺ¨λ‹ˆν„°λ§ν•  λ•Œ μ™œ Exporterλ₯Ό κΌ­ λ°°ν¬ν•˜λ‚˜μš”?”

핡심 λ‚΄μš©:

  • Prometheus의 μ–Έμ–΄ μž₯λ²½
  • Exporter = 톡역사
  • 3단계 λ™μž‘ 방식 (μˆ˜μ§‘β†’λ²ˆμ—­β†’μ œκ³΅)
  • μ™œ YAML둜 λ”°λ‘œ λ°°ν¬ν•˜λ‚˜

μ£Όμš” 포인트:

- Prometheus ν˜•μ‹: redis_up 1
- κΈ°μ‘΄ μ•± ν˜•μ‹: INFO λͺ…λ Ήμ–΄ β†’ ν…μŠ€νŠΈ 덩어리
- Exporter: μ–‘μͺ½ μ–Έμ–΄λ₯Ό λͺ¨λ‘ μ•„λŠ” 톡역사
- /metrics μ—”λ“œν¬μΈνŠΈ 제곡

🎯 02편: Exporter μ‚¬μš© μ‹œλ‚˜λ¦¬μ˜€

파일: 02-Exporter-μ‚¬μš©-μ‹œλ‚˜λ¦¬μ˜€

νŒλ‹¨ κΈ°μ€€

β€œκ·Έ μ†Œν”„νŠΈμ›¨μ–΄κ°€ νƒœμ–΄λ‚œ μ‹œλŒ€β€λ₯Ό 보라

핡심 λ‚΄μš©:

  • ν•„μš”ν•œ 경우: λ ˆκ±°μ‹œ μ•± (MySQL, Redis)
  • λΆˆν•„μš”ν•œ 경우: ν΄λΌμš°λ“œ λ„€μ΄ν‹°λΈŒ μ•± (K8s, Istio)
  • νŒλ‹¨ 체크리슀트
  • 싀무 사둀

λΉ„κ΅ν‘œ:

μ• ν”Œλ¦¬μΌ€μ΄μ…˜Exporter ν•„μš”μ΄μœ 
MySQL, Redisβœ…Prometheus ν˜•μ‹ 미지원
Kubernetes❌/metrics λ‚΄μž₯
Nginxβœ…μƒνƒœ νŽ˜μ΄μ§€λŠ” λ‹€λ₯Έ ν˜•μ‹
직접 κ°œλ°œν•œ μ•±βŒλΌμ΄λΈŒλŸ¬λ¦¬λ‘œ 직접 κ΅¬ν˜„

πŸ” 03편: κ΄€μΈ‘μ„± 3λŒ€ μΆ•

파일: 03-κ΄€μΈ‘μ„±-3λŒ€-μΆ•

싀무 μ‹œλ‚˜λ¦¬μ˜€

β€œν•˜λ‚˜μ˜ λ„κ΅¬λ‘œλŠ” λΆ€μ‘±ν•˜λ‹€! μ„Έ κ°€μ§€ 관점이 ν•„μš”ν•˜λ‹€β€

핡심 λ‚΄μš©:

  • Metrics: 숫자 데이터 (Prometheus)
  • Logs: ν…μŠ€νŠΈ 데이터 (ELK, Loki)
  • Traces: μš”μ²­ 흐름 (Jaeger)
  • μž₯μ•  λŒ€μ‘ 3단계

μž₯μ•  λŒ€μ‘ μ‹œλ‚˜λ¦¬μ˜€:

1단계 Metrics: "μ–΄λ””κ°€" λ¬Έμ œμΈμ§€ νŒŒμ•…
  β†’ MySQL μ‘λ‹΅μ‹œκ°„ 급증
 
2단계 Logs: "무슨" μ—λŸ¬μΈμ§€ 확인
  β†’ "Lock wait timeout exceeded"
 
3단계 Traces: "μ–΄λŠ 뢀뢄이" λŠλ¦°μ§€ 식별
  β†’ /api/orderμ—μ„œ κΈ΄ νŠΈλžœμž­μ…˜

🎯 07편: 4 Golden Signals

파일: 07-4-Golden-Signals

Google SRE ꢌμž₯

무엇을 λͺ¨λ‹ˆν„°λ§ν• μ§€ λͺ¨λ₯΄κ² λ‹€λ©΄? β†’ 이 4κ°€μ§€λΆ€ν„°!

핡심 λ‚΄μš©:

  1. Latency: μ–Όλ§ˆλ‚˜ λΉ λ₯΄κ²Œ?
  2. Traffic: μ–Όλ§ˆλ‚˜ 많이?
  3. Errors: μ–Όλ§ˆλ‚˜ μ‹€νŒ¨?
  4. Saturation: μ–Όλ§ˆλ‚˜ μ°Όλ‚˜?

MySQL 적용 μ˜ˆμ‹œ:

# 1. Latency
mysql_global_status_slow_queries
 
# 2. Traffic
mysql_global_status_queries
 
# 3. Errors
mysql_global_status_connection_errors_total
 
# 4. Saturation
mysql_global_status_threads_connected /
mysql_global_variables_max_connections

πŸ”§ 04편: Prometheus Blackbox Exporter

파일: 04-Prometheus-Blackbox-Exporter

핡심 μ² ν•™

β€œμ„œλ²„κ°€ μ‚΄μ•„μžˆλ‹€β€ β‰  β€œμ‚¬μš©μžκ°€ μ“Έ 수 μžˆλ‹€β€

핡심 λ‚΄μš©:

  • ν™”μ΄νŠΈλ°•μŠ€ vs λΈ”λž™λ°•μŠ€
  • μ™œ prefixκ°€ probe_인가
  • ConfigMap이 ν•„μš”ν•œ 이유
  • μœ μš©ν•œ 경우 vs λΆˆν•„μš”ν•œ 경우

νŠΈλ ˆμ΄λ“œμ˜€ν”„:

ν•­λͺ©μž₯점 βœ…λ‹¨μ  ❌
κ΄€μ μ‚¬μš©μž κ²½ν—˜ κ·ΈλŒ€λ‘œμ›μΈ νŒŒμ•… 어렀움
섀정간단 (URL만)λ³΅μž‘ν•œ μ‹œλ‚˜λ¦¬μ˜€ μ œν•œ
λ²”μœ„μ™ΈλΆ€ μ„œλΉ„μŠ€ κ°€λŠ₯κΉŠμ€ 뢄석 λΆˆκ°€

πŸ’Ό 06편: λͺ¨λ‹ˆν„°λ§ νŠΈλ ˆμ΄λ“œμ˜€ν”„

파일: 06-λͺ¨λ‹ˆν„°λ§-νŠΈλ ˆμ΄λ“œμ˜€ν”„

싀무 핡심 원칙

β€œλ­˜ ν•  수 μžˆλ‚˜β€λ³΄λ‹€ β€œμ–Έμ œ, μ™œ ν•΄μ•Ό ν•˜λ‚˜β€

핡심 λ‚΄μš©:

  • 기술 선택 질문 리슀트
  • λΉ„μš© 계산 (μ‹œκ°„, λ¦¬μ†ŒμŠ€, 기회)
  • 단계별 μ ‘κ·Ό (Phase 1-4)
  • μ•ŒλžŒ ν”Όλ‘œ 관리

μ˜μ‚¬κ²°μ • ν”„λ ˆμž„μ›Œν¬:

질문 리슀트:
  β–‘ νŒ€ 규λͺ¨λŠ”? (2λͺ… vs 20λͺ…)
  β–‘ μ˜ˆμ‚°μ€? (돈 vs μ‹œκ°„)
  β–‘ μΈν”„λΌλŠ”? (ν΄λΌμš°λ“œ vs μ˜¨ν”„λ ˆλ―ΈμŠ€)
  β–‘ κΈ΄κΈ‰λ„λŠ”? (μž₯μ•  감지 vs μ΅œμ ν™”)
  β–‘ κΈ°μ‘΄ μŠ€νƒμ€?

πŸ—οΈ 08편: Istio λͺ¨λ‹ˆν„°λ§ 톡합

파일: 08-Istio-λͺ¨λ‹ˆν„°λ§-톡합

λ³΅μž‘λ„ 폭발

Istioλ₯Ό μΆ”κ°€ν•˜λ©΄ κΈ°μ‘΄ λͺ¨λ‹ˆν„°λ§μ΄ ν­λ°œν•©λ‹ˆλ‹€!

핡심 λ‚΄μš©:

  • 3κ°€μ§€ μ£Όμš” 문제
    1. μ™ΈλΆ€ νƒ€κ²Ÿ μ ‘κ·Ό λΆˆκ°€
    2. Prometheus λ©”νŠΈλ¦­ μˆ˜μ§‘ λΆˆκ°€
    3. Health Check μ‹€νŒ¨λ‘œ Pod μž¬μ‹œμž‘
  • ServiceEntry, PeerAuthentication
  • 싀무 ꢌμž₯ νŒ¨ν„΄

ν•΄κ²° μš”μ•½:

λ¬Έμ œμ›μΈν•΄κ²°
μ™ΈλΆ€ μ ‘κ·Ό μ•ˆ 됨Istio μ™ΈλΆ€ 차단ServiceEntry λ˜λŠ” λ„€μž„μŠ€νŽ˜μ΄μŠ€ Istio μ œμ™Έ
λ©”νŠΈλ¦­ μˆ˜μ§‘ μ•ˆ 됨mTLS 인증 μ‹€νŒ¨λ„€μž„μŠ€νŽ˜μ΄μŠ€ Istio μ œμ™Έ (ꢌμž₯)
Pod μž¬μ‹œμž‘ 반볡Health check μ‹€νŒ¨Probe μ„€μ • μˆ˜μ • λ˜λŠ” Istio μ œμ™Έ

πŸš€ 09편: λͺ¨λ‹ˆν„°λ§ μŠ€νƒ μ„€μΉ˜ μˆœμ„œ

파일: 09-λͺ¨λ‹ˆν„°λ§-μŠ€νƒ-μ„€μΉ˜-μˆœμ„œ

핡심 원칙

μ™Έμš°μ§€ 말고 β€œλ ˆμ΄μ–΄β€λ‘œ μ΄ν•΄ν•˜λΌ

핡심 λ‚΄μš©:

  • λ ˆμ΄μ–΄ ꡬ쑰 (K8s β†’ Istio β†’ Prometheus β†’ Kiali)
  • μ™œ 이 μˆœμ„œμΈκ°€?
  • 데이터 흐름 이해
  • ConfigMap μˆ˜μ •μ΄ ν•„μš”ν•œ 이유

μ„€μΉ˜ 원칙:

μ•„λž˜μ—μ„œ μœ„λ‘œ:
  Layer 1: Kubernetes (기반)
  Layer 2: Istio (λ©”νŠΈλ¦­ 생성)
  Layer 3: Prometheus (λ©”νŠΈλ¦­ μˆ˜μ§‘)
  Layer 4: Kiali (μ‹œκ°ν™”)
 
원칙:
  데이터 생성 β†’ μˆ˜μ§‘ β†’ μ €μž₯ β†’ μ‹œκ°ν™”

🎯 ν•™μŠ΅ μˆœμ„œ μΆ”μ²œ

μ΄ˆκΈ‰ (1μ£Όμ°¨)

κΈ°λ³Έ 이해:
  - [ ] [[01-Exporter-κ°œλ…]] - Exporterκ°€ 뭐지?
  - [ ] [[02-Exporter-μ‚¬μš©-μ‹œλ‚˜λ¦¬μ˜€]] - μ–Έμ œ ν•„μš”ν•΄?
  - [ ] [[03-κ΄€μΈ‘μ„±-3λŒ€-μΆ•]] - 전체 κ·Έλ¦Ό 이해

쀑급 (2-3μ£Όμ°¨)

싀무 적용:
  - [ ] [[07-4-Golden-Signals]] - 무엇을 μΈ‘μ •?
  - [ ] [[04-Prometheus-Blackbox-Exporter]] - μ™ΈλΆ€ λͺ¨λ‹ˆν„°λ§
  - [ ] [[06-λͺ¨λ‹ˆν„°λ§-νŠΈλ ˆμ΄λ“œμ˜€ν”„]] - μ–Έμ œ λ„μž…?

κ³ κΈ‰ (4μ£Όμ°¨+)

λ³΅μž‘ν•œ ν™˜κ²½:
  - [ ] [[08-Istio-λͺ¨λ‹ˆν„°λ§-톡합]] - Istio 문제 ν•΄κ²°
  - [ ] [[09-λͺ¨λ‹ˆν„°λ§-μŠ€νƒ-μ„€μΉ˜-μˆœμ„œ]] - μ•„ν‚€ν…μ²˜ 이해

πŸ”— μ—°κ΄€ λ¬Έμ„œ

πŸ“š ν”„λ‘œλ©”ν…Œμš°μŠ€ μ‹œλ¦¬μ¦ˆ μ—°κ΄€μ„±

기반 지식:
  - [[../00_ν”„λ‘œλ©”ν…Œμš°μŠ€_μ‹œλ¦¬μ¦ˆ_λͺ©μ°¨]] - 전체 λͺ©μ°¨
  - [[../01_ν”„λ‘œλ©”ν…Œμš°μŠ€_기초_κ°œλ…_μ™„λ²½_정리]] - 기초 κ°œλ…
  - [[../02_λͺ¨λ‹ˆν„°λ§_νŒŒμ΄ν”„λΌμΈ_μ™„λ²½_이해]] - νŒŒμ΄ν”„λΌμΈ ꡬ쑰
 
PromQL ν•™μŠ΅:
  - [[../07_PromQL_λ©”νŠΈλ¦­_νƒ€μž…_μ™„λ²½_κ°€μ΄λ“œ]] - λ©”νŠΈλ¦­ νƒ€μž…
  - [[../08_PromQL_λ ˆμ΄λΈ”_맀처_μ™„λ²½_κ°€μ΄λ“œ]] - λ ˆμ΄λΈ” λ§€μΉ­
  - [[../09_PromQL_핡심_κ°œλ…_정리]] - PromQL 쿼리

πŸ“… μž‘μ„±μΌ: 2025λ…„ 12μ›” 9일 πŸ“– 총 ν•™μŠ΅ μ‹œκ°„: μ•½ 3-4μ‹œκ°„ (집쀑 ν•™μŠ΅ κΈ°μ€€) 🎯 μ™„λ£Œ ν›„ μˆ˜μ€€: Exporter κ°œλ…λΆ€ν„° Istio ν†΅ν•©κΉŒμ§€ 싀무 적용 κ°€λŠ₯