Grafana Dashboard 활용

문정환·2023년 9월 25일

#1. 프로메테우스-스택에 포함된 그라파나 대시보드 사용

  • 헬름 프로메테우스-스택으로 프로메테우스를 설치하면 헬름 차트에 이미 다양한 대시보드가 포함돼 있다.
  • 전반적인 k8s 클러스터 현황 정보, 노드와 파드의 상세한 자원 사용량, k8s 주요 구성 요소(apiserver, scheduler, kubelet) 현황 대시보드 등을 제공한다.

01. 그라파나의 기본 사용법

## 웹UI 접속을 위한 로드밸런서 IP 확인
[spkr@ubun20-01 ~ (⎈|ubun01:monitoring)]$ kgs
NAME                                      TYPE           CLUSTER-IP      EXTERNAL-IP       PORT(S)                         AGE     SELECTOR
alertmanager-operated                     ClusterIP      None            <none>            9093/TCP,9094/TCP,9094/UDP      4d21h   app.kubernetes.io/name=alertmanager
**prometheus-grafana**                        **LoadBalancer**   10.233.33.147   **192.168.119.151**   80:30173/TCP                    4d21h   app.kubernetes.io/instance=prometheus,app.kubernetes.io/name=grafana
prometheus-kube-prometheus-alertmanager   ClusterIP      10.233.37.149   <none>            9093/TCP,8080/TCP               4d21h   alertmanager=prometheus-kube-prometheus-alertmanager,app.kubernetes.io/name=alertmanager
prometheus-kube-prometheus-operator       ClusterIP      10.233.34.231   <none>            443/TCP                         4d21h   app=kube-prometheus-stack-operator,release=prometheus
prometheus-kube-prometheus-prometheus     NodePort       10.233.31.130   <none>            9090:30090/TCP,8080:31734/TCP   4d21h   app.kubernetes.io/name=prometheus,operator.prometheus.io/name=prometheus-kube-prometheus-prometheus
prometheus-kube-state-metrics             ClusterIP      10.233.6.21     <none>            8080/TCP                        4d21h   app.kubernetes.io/instance=prometheus,app.kubernetes.io/name=kube-state-metrics
prometheus-operated                       ClusterIP      None            <none>            9090/TCP                        4d21h   app.kubernetes.io/name=prometheus
prometheus-prometheus-node-exporter       ClusterIP      10.233.26.92    <none>            9100/TCP                        4d21h   app.kubernetes.io/instance=prometheus,app.kubernetes.io/name=prometheus-node-exporter

## 패스워드 확인
[spkr@ubun20-01 ~ (⎈|ubun01:monitoring)]$ k get secrets prometheus-grafana -o yaml
apiVersion: v1
data:
  admin-password: **cHJvbS1vcGVyYXRvcg==**
  admin-user: YWRtaW4=
  ldap-toml: ""
kind: Secret
metadata:
  annotations:

[spkr@ubun20-01 ~ (⎈|ubun01:monitoring)]$ echo -n "cHJvbS1vcGVyYXRvcg==" |base64 --decode
**prom-operator**
  • 계정: admin/prom-operator
  • [Data Source]: 프로메테우스-스택 헬름 차트는 데이터 소스 설정을 이미 포함하고 있어 그라파나가 자동으로 프로메테우스를 데이터 소스로 추가한다.
prom-operator[spkr@ubun20-01 ~ (⎈|ubun01:monitoring)]$ k get svc
NAME                                      TYPE           CLUSTER-IP      EXTERNAL-IP       PORT(S)                         AGE
alertmanager-operated                     ClusterIP      None            <none>            9093/TCP,9094/TCP,9094/UDP      4d21h
prometheus-grafana                        LoadBalancer   10.233.33.147   192.168.119.151   80:30173/TCP                    4d21h
**prometheus-kube-prometheus-alertmanager**   ClusterIP      10.233.37.149   <none>            **9093/TCP,8080**/TCP               4d21h
prometheus-kube-prometheus-operator       ClusterIP      10.233.34.231   <none>            443/TCP                         4d21h
**prometheus-kube-prometheus-prometheus**     NodePort       10.233.31.130   <none>            **9090:30090**/TCP,8080:31734/TCP   4d21h
prometheus-kube-state-metrics             ClusterIP      10.233.6.21     <none>            8080/TCP                        4d21h
prometheus-operated                       ClusterIP      None            <none>            9090/TCP                        4d21h
prometheus-prometheus-node-exporter       ClusterIP      10.233.26.92    <none>            9100/TCP                        4d21h

Untitled

Untitled

  • 대시보드?
    • 현재 서비스 현황을 빠르게 파악할 수 있고 장애에 빠르게 대처할 정보가 필요

Untitled

Untitled

  • Kubernetes / Compute Resources / Cluster
    • 클러스터 전반의 CPU, 메모리, 네트워크, 스토리지 사원 사용량 파악
    • 장애 상황 시 CPU, 메모리, 디스크 용량 부족인 경우가 많은데 이를 빠르게 확인
    • 노드 증설에 필요한 자원 사용량 근거도 오래전 날짜부터 사용량 패턴 변화 확인
  • Node Exporter / USE Method / Cluster

02. 그라나파 공식 홈페이지의 템플릿 대시보드 추가

  • 다양한 사용자들이 많이 사용하고 있는 검증된 대시보드 가져오는 방법
  • 그라파나는 공식 홈페이지에서 대시보드 공유 기능 제공
  • https://grafana.com/grafana/dashboards/

Untitled

Untitled

Untitled

Untitled

  • kube-state-metrics-v2 대시보드
    • 클러스터, 노드, 네임스페이스 선택 및, 특정 클러스터 노드, 네임스페이스별 사용 현황 파악
    • 클러스터 전반의 POD 수량, CPU/메모리 할당 가용 용량 대비 요청량(Requests) 등을 그래프로 확인
    • 노드, 워크로드(Deploy, Statefulset) 파드 등 개별 리소스에 대한 현황 및 에러 정보를 확인
    • 유용한 정보로서 전체 클러스터 현황을 파악하거나 장애 상황이 발생했을 때 이전 히스토리 파악하는데 사용
profile
All-rounder

0개의 댓글