๐ ๏ธ Prometheus ์ ์ ์ฅ์ ํธ๋ฌ๋ธ์ํ ๊ฐ์ด๋
์ด ๋ฌธ์๋ Kubernetes ํด๋ฌ์คํฐ ๋ด Prometheus ์ ์ ๋ถ๊ฐ ํ์์ ํด๊ฒฐํ๋ ๊ณผ์ ์ **์์์ ํ๋ฆ(Stream of Consciousness)**๊ณผ ์ค์ ์ฌ์ฉ๋ ๋ช ๋ น์ด๋ฅผ ๊ธฐ๋กํ ๊ฐ์ด๋์ ๋๋ค.
1. ๐จ ์ํฉ ์ธ์ง (The Problem)
์ฆ์
โ์ด์ ์
http://192.168.1.11/graph์ฃผ์๋ก ์ ์์ด ๋์๋๋ฐ, ์ง๊ธ์ ์ ์์ด ์ ๋ฉ๋๋ค.โ
๊ฐ์ฅ ๋จผ์ ๋ ์๊ฐ์ ๋ ๊ฐ์ง์ ๋๋ค.
- Pod๊ฐ ์ฃฝ์๋? (Application Down)
- Service ์ฐ๊ฒฐ์ด ๋์ด์ก๋? (Network Configuration Change)
2. ๐ ์ด๊ธฐ ์ง๋จ (Initial Check)
์ฐ์ ํ์ฌ ๋ด๊ฐ ์๋ default ๋ค์์คํ์ด์ค์ ์ํฉ์ ํ์ธํฉ๋๋ค.
kubectl get po,svc๊ฒฐ๊ณผ ํ์ธ
nginx,nfs,redis๋ฑ์ ๋ณด์ด์ง๋ง Prometheus ๊ด๋ จ Pod๋ Service๊ฐ ์ ํ ๋ณด์ด์ง ์์.- โ์ญ์ ๋์๊ฑฐ๋, ๋ค๋ฅธ ๋ค์์คํ์ด์ค(
monitoring๋ฑ)์ ๊ฒฉ๋ฆฌ๋์ด ์์ ๊ฒ์ด๋ค.โ๋ผ๊ณ ๊ฐ์ค ์๋ฆฝ.
3. ๐ต๏ธโโ๏ธ ์ ์ญ ๊ฒ์ (Global Search)
์ฌ๋ผ์ง Prometheus๋ฅผ ์ฐพ๊ธฐ ์ํด ๋ชจ๋ ๋ค์์คํ์ด์ค(-A)๋ฅผ ๋ค์ง๊ณ , ์ด์ ์ ์ ์ํ๋ IP(192.168.1.11)๋ ์ด๋ฆ(prometheus)์ ๊ฒ์ํฉ๋๋ค.
kubectl get po,svc,ingress -A -o wide | grep -E 'prometheus|192.168.1.11'๋ฐ๊ฒฌ ๋ฐ ๋ถ์ (Analysis)
๊ฒฐ๊ณผ์์ ๋ค์ ์ ๋ณด๋ฅผ ํ์ธํ์ต๋๋ค:
monitoring๋ค์์คํ์ด์ค์ Pod๋ค์ด ์ ์(Running) ์ํ์. โ ์ฃฝ์ง ์์์.service/prometheus-server๊ฐ ์กด์ฌํ์ง๋ง TYPE์ดClusterIP๋ก ์ค์ ๋์ด ์์.EXTERNAL-IPํญ๋ชฉ์ด<none>์.
๐ก ์์์ ํ๋ฆ: ์์ธ ๋์ถ
โ์ํ, Pod๋ ์ด์์๋๋ฐ Service Type์ด
ClusterIP๋ผ์ ํด๋ฌ์คํฐ ๋ด๋ถ์์๋ง ์ ๊ทผ ๊ฐ๋ฅํ๊ฒ ์ ๊ฒจ์๊ตฌ๋. ์ธ๋ถ IP(192.168.1.11)๋ฅผ ํ ๋น๋ฐ์ผ๋ ค๋ฉด Type์LoadBalancer๋ก ๋ฐ๊ฟ์ผ ํด.โ
4. ๐ง ํด๊ฒฐ ์กฐ์น (Resolution)
์์ธ์ ์ฐพ์์ผ๋, ์๋น์ค ์ค์ ์ ๋ณ๊ฒฝํ์ฌ ์ธ๋ถ ๋ฌธ์ ์ด์ด์ค๋๋ค. ๊ตณ์ด yaml ํ์ผ์ ์ด์ด์ ์์ ํ๊ณ ์ ์ฉํ ํ์ ์์ด patch ๋ช
๋ น์ด๋ก ์ฆ์ ์์ ํฉ๋๋ค.
kubectl patch svc prometheus-server -n monitoring -p '{"spec": {"type": "LoadBalancer"}}'๋ช ๋ น์ด ์ค๋ช
-n monitoring:monitoring๋ค์์คํ์ด์ค๋ฅผ ํ๊ฒํ .-p '{"spec": {"type": "LoadBalancer"}}': ์๋น์ค ์คํ ์คtype๋ง ์ฝ ์ง์ด์LoadBalancer๋ก ๋ฎ์ด์ฐ๊ธฐ.
5. โ ๊ฒ์ฆ (Verification)
๋ณ๊ฒฝ ์ฌํญ์ด ์ ์ฉ๋์ด IP๋ฅผ ์ ๋ฐ์์๋์ง ํ์ธํฉ๋๋ค.
kubectl get svc prometheus-server -n monitoring -o wide์ต์ข ๊ฒฐ๊ณผ
NAME TYPE EXTERNAL-IP PORT(S) prometheus-server LoadBalancer 192.168.1.11 80:32633/TCP
EXTERNAL-IP์192.168.1.11์ด ๋ค์ ํ ๋น๋ ๊ฒ์ ํ์ธํ์ต๋๋ค. ์ด์ ๋ธ๋ผ์ฐ์ ์์ ์ ์์ด ๊ฐ๋ฅํฉ๋๋ค.
๐ ์์ฝ (Summary)
- ์ํฉ: Prometheus ์ ์ ๋ถ๊ฐ.
- ์์ธ: ์๋น์ค ํ์
์ด
ClusterIP๋ก ์ค์ ๋์ด ์ธ๋ถ IP ํ ๋น์ด ํด์ ๋จ. - ํด๊ฒฐ:
kubectl patch๋ฅผ ํตํดLoadBalancer๋ก ๋ณ๊ฒฝ. - ๊ตํ: ๋ฆฌ์์ค๊ฐ ์ ๋ณด์ผ ๋ ๋นํฉํ์ง ๋ง๊ณ
-A(All Namespaces) ์ต์ ์ ์ผ์.