1️⃣ Kubernetes에서 모니터링과 로깅이 중요한 이유?
운영 중인 Kubernetes 애플리케이션이 정상적으로 동작하는지 확인하려면 모니터링과 로깅이 필수입니다.
하지만 Kubernetes 환경에서는 Pod가 동적으로 생성되고 삭제되므로 기존 서버 기반의 모니터링 방식은 적용하기 어렵습니다.
✅ 모니터링: 클러스터, 노드, Pod, 애플리케이션의 상태를 실시간으로 확인
✅ 로깅: 애플리케이션과 시스템에서 발생하는 이벤트를 기록하여 문제 해결
Kubernetes에서는 Prometheus + Grafana를 사용하여 모니터링하고,
Loki + Promtail을 활용하여 로깅을 수집할 수 있습니다.
이제 Kubernetes에서 모니터링과 로깅을 설정하는 방법을 살펴보겠습니다!
2️⃣ Kubernetes 모니터링 구성 (Prometheus + Grafana)
📌 Prometheus와 Grafana는 Kubernetes 모니터링의 대표적인 솔루션입니다.
✅ Prometheus: Kubernetes에서 메트릭(metric) 데이터를 수집
✅ Grafana: Prometheus에서 수집한 데이터를 시각화
📌 Prometheus + Grafana 아키텍처
Kubernetes Cluster
⬇
Prometheus (메트릭 수집)
⬇
Grafana (대시보드 시각화)
3️⃣ Prometheus 설치하기
Helm을 사용하여 Prometheus를 간단하게 설치할 수 있습니다.
📌 Prometheus Helm Chart 설치
helm repo add prometheus-community https://prometheus-community.github.io/helm-charts
helm repo update
helm install prometheus prometheus-community/kube-prometheus-stack
📌 설치 확인
kubectl get pods -n default
✅ Prometheus가 정상적으로 실행되었는지 확인!
4️⃣ Grafana 설치 및 대시보드 설정
📌 Grafana는 Prometheus 데이터를 시각화하는 도구입니다.
📌 Grafana 기본 설정 조회
kubectl get secret prometheus-grafana -o jsonpath="{.data.admin-password}" | base64 --decode
📌 Grafana 접속
http://<Node IP>:3000
📌 로그인 정보
• 사용자명: admin
• 비밀번호: 위 base64 --decode로 조회한 값
📌 Prometheus 데이터 소스 추가
1. Grafana에 로그인
2. “Configuration” → “Data Sources” → “Add data source”
3. Prometheus 선택 후, http://prometheus-server.default.svc.cluster.local 입력
4. “Save & Test” 클릭
✅ 이제 Grafana에서 Kubernetes 메트릭을 시각화할 수 있습니다!
5️⃣ Kubernetes 로깅 구성 (Loki + Promtail)
📌 Loki는 Kubernetes의 대표적인 로깅 솔루션이며, Promtail을 사용하여 로그를 수집합니다.
✅ Loki: Kubernetes 로그 데이터를 저장
✅ Promtail: 각 Pod에서 로그를 수집하여 Loki로 전달
✅ Grafana: Loki의 로그 데이터를 조회하고 시각화
📌 Loki + Promtail 아키텍처
Kubernetes Cluster
⬇
Promtail (로그 수집)
⬇
Loki (로그 저장)
⬇
Grafana (로그 시각화)
6️⃣ Loki 및 Promtail 설치하기
📌 Helm을 사용하여 Loki 및 Promtail을 간단하게 설치할 수 있습니다.
📌 Loki 및 Promtail 설치
helm repo add grafana https://grafana.github.io/helm-charts
helm repo update
helm install loki grafana/loki-stack
📌 설치 확인
kubectl get pods -n default
✅ Loki와 Promtail이 정상적으로 실행되는지 확인!
7️⃣ Grafana에서 로그 조회하기
📌 Grafana에 Loki를 데이터 소스로 추가해야 합니다.
📌 Loki 데이터 소스 추가
1. Grafana에 로그인
2. “Configuration” → “Data Sources” → “Add data source”
3. Loki 선택 후, http://loki.default.svc.cluster.local:3100 입력
4. “Save & Test” 클릭
📌 로그 조회 예제
1. Grafana에서 “Explore” 선택
2. 데이터 소스를 “Loki”로 변경
3. {job="kubernetes-pods"} 입력 후 “Run Query”
✅ Kubernetes Pod의 로그를 실시간으로 조회 가능!
8️⃣ Kubernetes 모니터링 및 로깅 대시보드 활용
Grafana에는 Prometheus 및 Loki 데이터를 활용할 수 있는 대시보드 템플릿이 많습니다.
📌 Kubernetes 모니터링 대시보드 ID
• Kubernetes 클러스터 모니터링: 3119
• Kubernetes 노드 상태: 1860
• Pod & 컨테이너 로그 조회: 7637
📌 대시보드 가져오기
1. Grafana에서 “Create” → “Import” 선택
2. 위 ID 입력 후 “Load” 클릭
3. 데이터 소스를 Prometheus 또는 Loki로 설정 후 “Import”
✅ 이제 Kubernetes의 리소스 상태와 로그를 한눈에 확인할 수 있습니다!
📌 결론: Kubernetes 모니터링과 로깅을 활용하면 운영이 쉬워진다!
기능사용 도구
메트릭 수집 | Prometheus |
대시보드 시각화 | Grafana |
로그 저장 | Loki |
로그 수집 | Promtail |
🔥 Prometheus + Grafana를 사용하면 Kubernetes 클러스터와 애플리케이션 상태를 실시간으로 모니터링 가능!
🔥 Loki + Promtail을 사용하면 애플리케이션의 로그를 수집하고 분석할 수 있음!
'Kubernetes > Kubernetes Basics' 카테고리의 다른 글
📌 Kubernetes 리소스 관리: Requests & Limits 설정하기 (0) | 2025.03.03 |
---|---|
📌 Kubernetes HPA: 자동 확장으로 효율적인 리소스 관리하기 (0) | 2025.03.03 |
📌 Kubernetes Helm: 애플리케이션 배포 자동화하기 (0) | 2025.03.03 |
📌 Kubernetes Ingress: 도메인 기반 트래픽 관리 이해하기 (0) | 2025.03.03 |
📌 Kubernetes Service: 로드 밸런싱과 네트워크 설정 이해하기 (0) | 2025.03.03 |