07. 통합 모니터링 시스템 구축 (Final Project)
학습 목표: 지금까지 배운 모든 기술(Metric, Log, Variable, Alert)을 집대성하여, 서비스 장애를 한눈에 파악하고 원인을 추적할 수 있는 Full Stack Observability 대시보드를 완성합니다. 선수 지식: 04_실전_대시보드_제작_기초, 05_동적_대시보드와_변수_활용, 06_Loki_LogQL_심화_및_경보
🏛️ 1. 최종 프로젝트 설계
우리가 만들 최종 대시보드는 “3단 논법” 구조를 가집니다.
- Top (개요): “지금 문제가 있는가?” (RED Method - Rate, Errors, Duration)
- 주요 서비스의 요청량, 에러율, 응답속도를 신호등(Stat/Gauge)으로 표시.
- Middle (상세 메트릭): “어디가 아픈가?” (Resource Usage)
- CPU, Memory, Network 등 리소스 병목 지점을 시계열 그래프로 표시.
- Bottom (심층 분석): “왜 아픈가?” (Logs & Traces)
- 문제가 발생한 시간대의 에러 로그 스트림 표시.
🏗️ 2. Row(행) 기능을 이용한 구조화
대시보드가 복잡해지면 Row를 사용하여 구획을 나눠야 합니다.
- 대시보드 상단 Add → Row 클릭.
- 생성된 Row의 톱니바퀴(⚙️) 클릭 → Title:
🚦 Service Overview (RED Signals) - 같은 방식으로 2개 더 생성:
📈 Resource Utilization (CPU/Mem)🕵️ Root Cause Analysis (Logs)
이제 각 섹션에 맞는 패널을 만들어 드래그해서 집어넣습니다.
🚦 3. Top Section: 서비스 상태 (Service Overview)
목표: 사장이 봐도 “초록색이니 괜찮네” 하고 알 수 있게 만듭니다.
- 패널: Stat Panel
- 쿼리 (Prometheus):
# 전체 HTTP 요청 성공률 sum(rate(http_requests_total{status!~"5.."}[1m])) / sum(rate(http_requests_total[1m])) * 100 - Thresholds:
- 99%: Green (정상)
- 95%: Yellow (주의)
- 0%: Red (심각)
📈 4. Middle Section: 리소스 상관관계 분석
목표: CPU가 튈 때 메모리도 튀는지, 네트워크도 튀는지 상관관계를 봅니다.
- CPU 패널 (Time Series)
- Memory 패널 (Time Series)
- Network I/O 패널 (Time Series,
rate(container_network_...[1m]))
Tip: 모든 패널에 $node 또는 $pod 변수를 적용하여, 특정 범인(Node/Pod)을 필터링할 수 있게 합니다.
🕵️ 5. Bottom Section: 로그 연계 (Contextual Logging)
목표: 위 그래프에서 이상한 지점을 드래그(Zoom-in)했을 때, 바로 그 시간대의 로그를 봅니다.
- Logs 패널 추가.
- 쿼리 (Loki):
{namespace="$namespace", pod=~"$pod"} |= "ERROR"- 기본적으로 ERROR만 필터링해서 보여주다가, 필요하면 쿼리를 수정해서 전체를 봅니다.
📝 6. Annotation: 배포 시점 표시하기
“갑자기 에러가 늘었는데, 아까 배포해서 그런가?” 그래프 위에 “배포(Deployment)” 시점을 세로선으로 표시해주면 인과관계를 파악하기 쉽습니다.
- Dashboard settings → Annotations.
- New Annotation 클릭.
- Data source:
Loki. - Query:
(배포 스크립트가 이런 로그를 남긴다고 가정){namespace="default"} |= "Deployment completed" - 이제 그래프 위에 배포가 일어난 시점에 마커가 찍힙니다!
📤 7. 대시보드 내보내기 (Export) 및 마무리
고생해서 만든 대시보드를 JSON 파일로 백업하거나, 다른 팀에게 공유합시다.
- 상단 Share 아이콘 클릭.
- Export 탭 → Export for sharing externally 체크.
- Save to file 클릭.
🎓 시리즈를 마치며
축하합니다! 🎉 이제 여러분은 단순한 ‘사용자’를 넘어, Kubernetes 클러스터와 애플리케이션의 상태를 투명하게 들여다보고 감시할 수 있는 모니터링 시스템 엔지니어가 되었습니다.
Grafana + Loki + Prometheus 조합은 클라우드 네이티브 환경의 표준입니다. 이 가이드에서 만든 대시보드를 바탕으로, 여러분의 회사와 프로젝트에 맞는 커스텀 모니터링 환경을 계속 발전시켜 나가시길 바랍니다.
수고하셨습니다!