๐ ๋ชจ๋ํฐ๋ง ๊ฐ์ ๋ ธํธ ์ธ๋ฑ์ค
์์ ๋ด์ฉ ๊ธฐ๋ฐ ์ฒด๊ณ์ ์ ๋ฆฌ
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๊ฐ์ง๋ถํฐ!
ํต์ฌ ๋ด์ฉ:
- Latency: ์ผ๋ง๋ ๋น ๋ฅด๊ฒ?
- Traffic: ์ผ๋ง๋ ๋ง์ด?
- Errors: ์ผ๋ง๋ ์คํจ?
- 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๊ฐ์ง ์ฃผ์ ๋ฌธ์
- ์ธ๋ถ ํ๊ฒ ์ ๊ทผ ๋ถ๊ฐ
- Prometheus ๋ฉํธ๋ฆญ ์์ง ๋ถ๊ฐ
- 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 ํตํฉ๊น์ง ์ค๋ฌด ์ ์ฉ ๊ฐ๋ฅ