Kubernetes Monitoring : Grafana
Prometheus Grafana 연동
[Kubernetes Monitoring 관련 글 목록]
Kubernetes Monitoring : Metrics
Kubernetes Monitoring : HAP
Kubernetes Monitoring : Prometheus 개념
Kubernetes Monitoring : Prometheus 설치
Kubernetes Monitoring : Grafana
Prometheus Web UI 보다 더 나은
GUI Tool을 사용하기 위해 일반적으로 Grafana라는 Data Visualization tool을 이용하여 시각화함
Grafana 설치
1. Grafana Download
Grafana 또한 상위 Prometheus를 받을 때 사용한 git clone과 동일함
해당 clone한 directory의 gratana로 가서 설치하면 됨
[명령어]
git clone https://github.com/kubernetes/charts
cd charts/stable/
2. Grafana Service 설정 변경
[vi values.yaml 파일 수정]
외부에서 Grafana로 붙을 수 있어야하는데
해당 Service Object에 대한 설정이 아래 그림과 같이
Default로 ClusterIP로 되어있음.
외부에서 붙기 위해 Service Type을 LoadBalancer NodePort type으로 변경가능한데
예시 환경에서는 아래와 같이 NodePort type으로 변경함
3. Grafana Admin Password 설정
[vi values.yaml 파일 수정]
아래와 같이 adminPassword 를 설정 해줌
4. Grafana 설치
[명령어]
(helm version 2의 경우)
helm install -f values.yaml stable/grafana --name grafana --namespace grafana
(helm version 3의 경우)
helm install grafana --create-namespace --namespace grafana stable/grafana -f values.yaml
(참고 : Prometheus helm 삭제 명령)
helm delete grafana --namespace grafana stable/grafana
[결과]
생성 확인 결과 : 정상
Grafana 접속해보기
1. Grafana 접속
kubectl get svc -n grafana로 확인해보면
service/grafana가 생성되어 있는데
해당 service/grafana는 Grafana 설치 시 NodePort로 설정해놨기 때문에
30007번 Port로 worker node 혹은 master Node의 IP로 붙어보면
Grafana에 접속할 수 있음
접속 후 설치 시 설정했던 admin의 password를 입력하고 login함
2. 좌측 톱니바퀴 Configuration의 Data Source 클릭
Prometheus를 Grafana가 바라볼 수 있도록 설정하기 위해 Data Source를 등록해줘야함
3. Add data source 클릭
4. Prometheus 클릭
5. Prometheus-Server 의 Service 확인
kubectl get svc -n prometheus 명령을 해보면
아래와 같이 prometheus-server SVC를 확인해볼 수 있음.
해당 SVC의 domain을 알고있어야함.
[prometheus-server SVC의 domain]
http://prometheus-server.prometheus.svc.cluster.local
5. HTTP URL 설정
상위에서 확인했던 prometheus-server SVC의 domain을 넣어줌
http://prometheus-server.prometheus.svc.cluster.local
Access는 Server로 선택
6. Save & Test 클릭
정상적으로 updated 됐다면 아래와 같이 초록색 메세지가 나옴
7. Grafana Dashboard 설정
개발자가 직접 생성한 Dashboard를 등록해서 사용할 수 도 있지만
예제 환경에서는 기존에 Grafana에 등록되어있던 Dashboard를 사용하기 위해
좌측의 + 클릭 수 Import 클릭
8. 템플릿 골라보기
https://grafana.com/grafana/dashboards에 가보면 다양한 Dashboard 템플릿을 사용할 수 있음
Name을 kubernetes 로 설정했고
필터는 Download를 가장 많이 했던 Dashboard 템플릿을 선택함.
예제는 download 순위가 1위인 dashboard를 선택함
정보를 파악해보고
Get this dashoard 쪽에 해당 Dashboard 의 ID를 확인함
예제에서 확인한 해당 Dashboard id는 11454 였음
9. Dashboard 템플릿 import
위에서 확인한 Dashboard ID를 넣어주고 Load 클릭
10. 해당 Dashboard 템플릿으로 확인할 Data source선택
페이지를 확인해보면
해당 Dashboard 템플릿 개발자, update 날짜와 같은 정보를 확인할 수있음.
이제 이 Dashboard로 어떤 data source를 확인할지 설정하는데
이전 과정에 생성했던 data source를 선택해줌.
설정 완료 후 Import클릭
11. 모니터링 설정 완료
kubernetes Cluster에 있는 Volume 설정을 Grafana를 통해 모니터링 할 수 있음.
아래 예제는 현재 생성되어있는 PV, PVC Volume 설정이 없기 때문에 N/A로 표시됨
일반적으로 사용되는 1621 Dashboard 템플릿을 사용하면
아래와 같은 정보를 모니터링 할 수도 있음.
제 글을 복사할 시 출처를 명시해주세요.
글에 오타, 오류가 있다면 댓글로 알려주세요! 바로 수정하겠습니다!