안녕하세요. J4J입니다.
이번 포스팅은 helm으로 kubernetes 모니터링을 위한 prometheus, grafana 설치하는 방법에 대해 적어보는 시간을 가져보려고 합니다.
관련 글
Helm 이란? Helm 입문을 위한 기본 개념 설명
안녕하세요. J4J입니다. 이번 포스팅은 helm 입문을 위한 기본 개념 설명하는 시간을 가져보려고 합니다. Helm 이란? helm이라고 하는 것은 kubernetes를 사용하는 환경에서 kubernetes cluster가 관리하는 영
jforj.tistory.com
Window에서 Chocolately로 Helm 설치하기 & Helm 명령어 정리
Window에서 Chocolately로 Helm 설치하기 & Helm 명령어 정리
안녕하세요. J4J입니다. 이번 포스팅은 window에서 chocolately로 helm 설치하는 방법과 사용할 수 있는 명령어에 대해 적어보는 시간을 가져보려고 합니다. 관련 글 Helm 이란? Helm 입문을 위한 기본 개
jforj.tistory.com
Kubernetes 모니터링을 위한 Prometheus, Grafana 개념 정리
Kubernetes 모니터링을 위한 Prometheus, Grafana 개념 정리
안녕하세요. J4J입니다. 이번 포스팅은 kubernetes 모니터링을 위한 prometheus, grafana 개념에 대해 적어보는 시간을 가져보려고 합니다. Kubernetes 모니터링이 필요한 이유 kubernetes 환경에서 여러 개의 po
jforj.tistory.com
Kubernetes 모니터링 구축: Helm으로 kube-prometheus-stack 설치하기 (Docker Desktop)
Kubernetes 모니터링 구축: Helm으로 kube-prometheus-stack 설치하기 (Docker Desktop)
안녕하세요. J4J입니다. 이번 포스팅은 kubernetes 모니터링을 위한 helm으로 kube-prometheus-stack을 설치하는 방법에 대해 적어보는 시간을 가져보려고 합니다. 관련 글 Helm 이란? Helm 입문을 위한 기본
jforj.tistory.com
Prometheus 설치
앞선 글에서도 설명을 드린 적이 있지만 kubernetes 환경에서 prometheus와 grafana를 설치할 때는 kube prometheus stack을 활용하면 모니터링 구축에 필요한 다양한 서비스들을 한 번에 설치할 수 있습니다.
하지만 kube prometheus stack 기반의 설치는 다음 글에서 하려고 하며 이번에는 prometheus와 grafana를 별도로 설치하여 가볍게 구성해 보겠습니다.
prometheus 설치는 여러 방법이 있겠지만 helm을 이용하여 설치하는 것이 가장 간단하다고 생각하고 있습니다.
만약 helm을 사용할 수 있는 환경이 구성되어 있지 않다면 다음 글을 참고하여 helm을 설치한 뒤 다음 단계로 진행해 주시면 좋을 것 같습니다.
Window에서 Chocolately로 Helm 설치하기 & Helm 명령어 정리
안녕하세요. J4J입니다. 이번 포스팅은 window에서 chocolately로 helm 설치하는 방법과 사용할 수 있는 명령어에 대해 적어보는 시간을 가져보려고 합니다. 관련 글 Helm 이란? Helm 입문을 위한 기본 개
jforj.tistory.com
[ 1. 테스트를 위한 namespace 구성 ]
논리적인 환경 구분을 위한 목적으로 namespace를 생성하려고 합니다.
필수적인 사항은 아니기에 필요하지 않으신 분들은 구성하지 않으셔도 무방합니다.
$ kubectl create namespace monitoring
[ 2. prometheus-community repo 추가 ]
helm을 이용하여 prometheus를 설치할 repository를 추가합니다.
$ helm repo add prometheus-community https://prometheus-community.github.io/helm-charts
$ helm repo update
[ 3. prometheus 설치 ]
repository에 존재하는 chart를 이용하여 설치를 진행합니다.
추가적인 values 설정이 필요하시다면 별도 구성을 해주시면 되고, 없다면 다음과 같이 바로 설치를 해주시면 됩니다.
$ helm install prometheus prometheus-community/prometheus -n monitoring
[ 4. prometheus 설치 확인 ]
prometheus 설치가 올바르게 되었는지 확인하기 위해 prometheus의 web ui에 접속해 보겠습니다.
먼저, 명령어를 이용하여 설치된 svc를 확인하면 다음과 같이 prometheus-server라는 이름의 svc가 존재할 겁니다.
$ kubectl get svc -n monitoring

그 뒤 docker desktop 기준으로 다음 명령어를 이용하여 port forward 설정을 할 수 있습니다.
docker desktop이 아니고 서버에 올린 것이라면 외부에서 접속할 수 있도록 ingress 또는 네트워크 설정을 추가로 해주시면 됩니다.
$ kubectl port-forward svc/prometheus-server 9090:80 -n monitoring
prometheus server에 올바르게 접속할 수 있는 설정이 이루어졌다면 docker desktop 기준으로 http://localhost:9090/에 접속하면 다음과 같이 web ui를 확인할 수 있습니다.

query에서는 PromQL query를 입력하여 존재하는 metric을 기준으로 데이터 조회를 할 수 있습니다.
조회된 데이터는 graph를 통해 차트 형태로 확인도 가능합니다.
또한 경로를 /query 대신 /metrics라고 입력하여 접속하면 다음과 같이 prometheus에 수집되어 있는 metric에 대한 정보도 모두 확인을 해볼 수 있습니다.

Grafana 설치
prometheus 설정이 모두 이루어졌다면 prometheus에 수집된 metric 정보를 대시보드 형태의 시각화 자료로 보여주기 위해 grafana를 설치해 보겠습니다.
grafana도 prometheus와 동일하게 다양한 설치 방법 중 helm을 이용하여 설치하려고 합니다.
또한 grafana를 설치하는 과정에서 위에서 설치한 prometheus를 datasource로 자동 등록되어 있도록 values 정보도 함께 추가해 보겠습니다.
[ 1. grafana repo 추가 ]
helm을 이용하여 grafana를 설치할 repository를 추가합니다.
$ helm repo add grafana https://grafana.github.io/helm-charts
$ helm repo update
[ 2. grafana values 구성 ]
위에서 설치한 prometheus를 datasource로 등록되어 있도록 설정하기 위해 values 정보를 구성해 보겠습니다.
prometheus 말고도 더 등록되어야 하는 datasource 정보가 있다면 더 추가해 볼 수 있습니다.
// grafana-values.yaml
datasources:
datasources.yaml:
apiVersion: 1
datasources:
- name: Prometheus # datasource 이름
type: prometheus # datasource 타입
url: http://prometheus-server.monitoring.svc.cluster.local # prometheus server url
access: proxy # grafana의 datasource 접근 방식
isDefault: true # grafana 기본 datasource 설정 여부
editable: true # grafana ui에서 변경 가능 여부
[ 3. grafana 설치 ]
prometheus와 마찬가지로 repository에 존재하는 chart를 이용하여 설치를 진행합니다.
grafana의 경우 추가적인 values 설정이 존재하기 때문에 다음과 같이 values를 포함하여 명령어를 작성해 주시면 됩니다.
또한 grafana를 설치할 때 web ui의 admin 계정 비밀번호에 대한 설정이 필요한 경우 다음과 같이 옵션을 추가할 수 있습니다.
$ helm install grafana grafana/grafana -n monitoring -f grafana-values.yaml --set adminPassword="admin"
[ 4. grafana 설치 확인 ]
grafana 설치가 올바르게 되었는지 확인하기 위해 prometheus와 동일하게 grafana web ui에 접속해 보겠습니다.
grafana도 다음 명령어를 이용하여 svc를 확인하면 다음과 같이 grafana라는 이름의 svc가 존재할 겁니다.
$ kubectl get svc -n monitoring

그 뒤 docker desktop 기준으로 다음 명령어를 이용하여 port forward 설정을 prometheus와 동일하게 합니다.
docker desktop이 아니고 서버에 올린 것이라면 외부에서 접속할 수 있도록 ingress 또는 네트워크 설정을 추가로 해주시면 됩니다.
$ kubectl port-forward svc/grafana 3000:80 -n monitoring
grafana에 올바르게 접속할 수 있는 설정이 이루어졌다면 docker desktop 기준으로 http://localhost:3000/에 접속하면 로그인 창이 나옵니다.
저와 동일한 절차를 수행하신 분들은 계정 정보에 admin/admin을 입력하여 로그인하면 다음과 같은 web ui를 확인할 수 있습니다.

내비게이션 바에서 Data sources 메뉴를 클릭하면 grafana를 설치할 때 설정했던 prometheus 정보가 담겨 있는 것을 확인할 수 있습니다.
또한 필요하다면 web ui를 통해서도 추가적인 data source 등록을 할 수도 있습니다.

동일하게 네비게이션 바에서 Dashboards 메뉴를 클릭하면 grafana에서 시각적으로 확인할 수 있는 대시보드를 구성할 수 있습니다.
Grafana 공식 문서 대시보드를 이용하여 오픈되어 있는 대시보드를 구성해볼 수 있고, 대시보드 구성하는 방법에 대한 학습을 통해 metric 정보들을 활용한 우리만의 대시보드를 구성할 수도 있습니다.
Grafana dashboards | Grafana Labs
No results found. Please clear one or more filters.
grafana.com

이 외에도 알림 설정과 접근 제하 설정 등 grafana에서 제공되는 모든 기능들은 web ui 설정을 통해 관리될 수 있습니다.
이상으로 helm으로 kubernetes 모니터링을 위한 prometheus, grafana 설치하는 방법에 대해 간단하게 알아보는 시간이었습니다.
읽어주셔서 감사합니다.
'Infra, Cloud > Kubernetes' 카테고리의 다른 글
| Istio Metric을 Prometheus로 수집하기: ServiceMonitor/PodMonitor 활용 (0) | 2025.10.19 |
|---|---|
| Kubernetes Service Mesh 구축 가이드: Istio에 대한 이해와 Istio Operator 설치 방법 (0) | 2025.10.12 |
| Grafana Alert Rule을 활용한 Slack 알림 설정 가이드 (0) | 2025.09.22 |
| Kubernetes 모니터링 구축: Helm으로 kube-prometheus-stack 설치하기 (Docker Desktop) (0) | 2025.09.02 |
| Kubernetes 모니터링을 위한 Prometheus, Grafana 개념 정리 (1) | 2025.08.18 |
댓글