본문 바로가기

IT

쿠버네티스[EKS] 프로메테우스, 그라파나 helm 설치

728x90

helm을 먼저 설치하자. 

https://sh970901.tistory.com/150

 

Helm, Helm chart

쿠버네티스(Kubernetes)는 컨테이너화된 애플리케이션을 관리하기 위한 강력한 오케스트레이션 도구로 널리 사용되고 있다. 하지만 쿠버네티스의 기본적인 오브젝트(예: Deployment, Service, ConfigMap 등

sh970901.tistory.com

1. helm 설치

wget  https://get.helm.sh/helm-v3.9.4-linux-amd64.tar.gz

tar xvfz helm-v3.9.4-linux-amd64.tar.gz

mv linux-amd64/helm /usr/bin/

helm version

 

2. prometheus, grafana 패키지로 만들어진 helm repo를 추가한다.

helm repo add prometheus-community https://prometheus-community.github.io/helm-charts

helm repo update

 

3. kube-prometheus-statck을 다운로드한다. 개인적으로 해당 repo가 가장 구축하기 편리했다.

helm pull prometheus-community/kube-prometheus-stack
 
tar xfz kube-prometheus-stack-48.3.3.tgz
 
cd kube-prometheus-stack/

 

4. 해당 환경에 맞게 values.yaml 파일을 수정하자.

필자는 패스워드 변경하였고 외부 접근을 위해 svc 타입을 NodePort, 모니터링 관련 노드를 분리하기 위해 nodeSelector를 수정하였다.

 

vim values.yaml 

## 원하는 설정 값 변경
nodeSelector: 
	nodetype: monitor
  
adminPassword: admin1234!

 

5. prometheus, grafana 설치

helm install prometheus . -n <네임스페이스명> -f values.yaml

helm list -n <네임스페이스명>

 

6. 대시보드 생성

필요한 대시보드의 json을 import 하여 사용하자.

사용 시 메트릭이 나오지 않는 것들이 있는데, 해당 지표의 promql을 보면 pod를 pod_name으로 조회하거나 하는 등 맞지 않는 경우가 있으니 prometheus 버전에 맞게 수정하여 사용하면 된다.

 

https://grafana.com/grafana/dashboards/

 

Grafana dashboards | Grafana Labs

No results found. Please clear one or more filters.

grafana.com

 

values.yaml 파일에서 프로메테우스, 그라파나, 알럿매니저 등에 대한 영속적으로 데이터를 저장하기 위해서 volumeClaimTemplate을 활성화하여 저장하도록 한다.

 

예시) 

storageSpec:
    ## Using PersistentVolumeClaim
    ##
      volumeClaimTemplate:
        spec:
          storageClassName: gp2
          accessModes: ["ReadWriteOnce"]
          resources:
            requests:
              storage: 100Gi