이쿠의 슬기로운 개발생활

함께 성장하기 위한 보안 개발자 EverNote 내용 공유

클라우드/Kubernetes

47. Kubernetes Monitoring : Grafana

이쿠우우 2020. 11. 7. 13:50
반응형

 

 

 

 

 

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 템플릿을 사용하면 

아래와 같은 정보를 모니터링 할 수도 있음.

 

 

 

 

 

 


제 글을 복사할 시 출처를 명시해주세요.
글에 오타, 오류가 있다면 댓글로 알려주세요! 바로 수정하겠습니다!


 

 

 

 

 

 

반응형