개요
Prometheus는
kubernetes의 모니터링을 위한 (개인적으로)최고의 데이터 수집 도구 이며 (대안이 있나?)
모니터링 데이터를 가시화 하기위한 도구로 Grafana 설치방법에 대해 기록 합니다.
prometheus에 대한 내용은 검색으로 많이 접할 수 있으므로 자세한 내용은 생략합니다.
추가내용
kubernetes에서의 prometheus, grafana의 설치 시 helm의 기본 값은 pvc를 가지고 있지 않습니다.
하여 prometheus나 grafana pod가 재시작 되는 경우 이전에 수집 된 데이터는 보존되지 않습니다
grafana도 마찬가지로 추가로 설정하여 저장한 내용(dashboard 등)이 pod 재 시작 시 사라집니다.
prometheus에 수집된 데이터와 grafana에 설정된 값의 유지가 필요한 경우 아래 글 참고 바랍니다.
helm chart로 prometheus를 설치 합니다.
prometheus 설치할 namespace 생성
kubectl create namespace kubernetes-monitoring
namespace 생성 확인
kubectl get ns
저장소 추가
helm repo add Prometheus-community <https://prometheus-community.github.io/helm-charts>
helm repo add kube-state-metrics <https://kubernetes.github.io/kube-state-metrics>
저장소 업데이트
helm repo update
prometheus 설치
helm install monitoring prometheus-community/kube-prometheus-stack --namespace kubernetes-monitoring
prometheus 동작 확인
kubectl --namespace kubernetes-monitoring get pods -l "release=monitoring"
prometheus 설치 확인
kubectl get pods -n kubernetes-monitoring
prometheus 서비스도 확인해 봅니다.
kubectl get svc -n kubernetes-monitoring
모니터링의 시각화는 prometheus의 dashboard를 사용하지 않고 grafana를 사용하겠습니다.
grafana에 접근하기 위해 service type을 변경합니다.
기존 service type 확인
kubectl get svc -n kubernetes-monitoring
ClusterIP로 셋팅 되어있기 때문에 External-ip가 없습니다.
ServiceType을 변경하여 External-ip를 갖도록 하겠습니다.
service type 변경
kubectl edit svc monitoring-grafana -n kubernetes-monitoring
명령어를 실행하면 편집기가 실행되는데요
아래와 같이 ClusterIP 부분을 LoadBalancer로 변경하여 저장 후 종료합니다.
그러면 service가 수정되었다고 출력 되구요
service type을 다시 확인 해 봅니다.
kubectl get svc -n kubernetes-monitoring
브라우저에서 접속해 봅니다.
이제 로그인을 하기 위해 계정 정보를 알아야 합니다.
계정정보 확인
kubectl get secret -n kubernetes-monitoring monitoring-grafana -o yaml
암호화된 계정과 비밀번호를 풀어야 합니다.
decoding 편의를 위해 web tool을 사용합니다.
grafana 로그인
기본 dashboard 중 namespace로 pod 보기
참고용으로 추천할만한 kubernetes용 grafana dashboard
그대로 사용할 수 있는것은 아니지만 참고용으로는 충분합니다.
'IT > Kubernetes' 카테고리의 다른 글
Loki 설치 (0) | 2023.04.13 |
---|---|
prometheus 설치 (with pvc) (0) | 2023.04.13 |
EKS에 Agones 설치 (0) | 2023.04.13 |
EKS Autoscaling(node group) (0) | 2023.04.13 |
다른 사용자가 생성한 EKS에 접근권한 얻기 (0) | 2023.04.12 |