[관측가능성] Grafana 설치 및 대시보드 활용 방법 (메트릭 모니터링, 시각화)

728x90
반응형

Grafana 설치 및 대시보드 활용 방법

1. Grafana 설치

Prometheus를 Helm 차트로 설치하면 Grafana도 함께 설치된다.
Prometheus Helm 차트는 아래 GitHub 저장소에서 확인할 수 있다.
https://github.com/prometheus-community/helm-charts

 

GitHub - prometheus-community/helm-charts: Prometheus community Helm charts

Prometheus community Helm charts. Contribute to prometheus-community/helm-charts development by creating an account on GitHub.

github.com

 

설치가 완료되면, Grafana 서비스가 정상적으로 실행되고 있는지 확인해야 한다.

kubectl get pods -n monitoring

위 명령어를 실행했을 때 prometheus-grafana Pod가 Running 상태라면, 정상적으로 배포된 것이다.

이제 Grafana 서비스의 포트를 확인한 뒤, 포트 포워딩하여 웹 UI에 접속해보자.

 

kubectl port-forward service/prometheus-grafana 3000:80 --namespace monitoring

위 명령어를 실행한 후, 브라우저에서 http://localhost:3000으로 접속하면 Grafana 로그인 화면을 볼 수 있다.

 

2. Grafana 로그인

초기 로그인 시 기본 계정 정보를 사용해야 한다.

username: admin
password: prom-operator

로그인에 성공하면 Grafana의 기본 대시보드 화면이 나타난다.

로그인 성공 화면

이제 원하는 대시보드를 가져와서 설정해보자.


3. Grafana 대시보드 가져오기

Grafana에는 애플리케이션별로 미리 만들어진 대시보드 템플릿이 제공된다.
이러한 템플릿을 활용하면 별도로 대시보드를 만들지 않아도 쉽게 설정할 수 있다.

 

감사하게도, GrafanaLabs에 들어가보면 애플리케이션별로 만들어놓은 대시보드 템플릿들이 있다.

여기에서 검색해서 맘에 드는 대시보드를 가져오면 된다. 무료!!

https://grafana.com/grafana/dashboards/?search=kubernetes

 

Grafana dashboards | Grafana Labs

No results found. Please clear one or more filters.

grafana.com

 

GrafanaLabs

예를 들어, 쿠버네티스 관련 대시보드를 설정하고 싶다면 위 링크에서 kubernetes를 검색하면 다양한 대시보드가 나온다.
마음에 드는 대시보드를 클릭한 후, Copy ID 버튼을 누르면 해당 대시보드 ID가 복사된다.


4. Grafana 대시보드 Import하기

복사한 대시보드 ID를 Grafana에 Import하여 사용할 수 있다.

  1. Dashboards > New > Import 로 이동
  2. 복사한 ID를 입력 후 Load 버튼 클릭
  3. 데이터 소스를 Prometheus로 설정 후 Import

복사해온 ID 붙여넣기

 

Import 후, 이제 대시보드가 정상적으로 생성되었는지 확인해보자.

 


5. Grafana 대시보드를 활용한 모니터링

대시보드가 정상적으로 생성되었다면, 쿠버네티스 클러스터의 상태를 실시간으로 모니터링할 수 있다.
예를 들어, 아래와 같은 대시보드를 사용할 수 있다.

  • EFK 메트릭 대시보드 – 로그 수집 및 분석 상태 확인
  • 챗봇 서비스 대시보드 – 챗봇 API 응답 속도 및 트래픽 모니터링
  • 쿠버네티스 클러스터 대시보드 – CPU, 메모리 사용량 및 노드 상태 확인

EFK 메트릭 대시보드

 

챗봇 서비스 대시보드

 

쿠버네티스 클러스터 대시보드

이러한 메트릭을 기반으로 리소스 사용량을 분석하고, 적절한 스케일링 정책을 설정할 수 있다.
예를 들어, CPU 사용량이 일정 임계값을 초과하면 자동으로 Pod 개수를 늘리는 HPA(Horizontal Pod Autoscaler)를 설정하는 식이다.

 

필자의 경우, 실제 프로젝트에서 ArgoCD, Redis, Spring Boot, EFK 스택의 메트릭을 모니터링하고, 카펜터(Karpenter)를 적용할 때 이 메트릭을 활용하여 리소스 양을 측정하였다.
이를 통해 불필요한 노드 증설을 방지하고, 클러스터의 효율적인 리소스 관리를 할 수 있었다.

 

추가로, Alertmanager을 활용하여 특정 메트릭 지표가 일정 수준 이상/이하일 때 슬랙으로 알림을 보내도록 할 수도 있다.

728x90
반응형