Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »


1. Kube-Prometheus-Stack 개요

Kube-Prometheus-Stack을 통해 Prometheus와 Grafana, Prometheus-Operator, Alertmanager 등을 손쉽게 설치할 수 있는 Stack형 서비스입니다.

Kube-Prometheus-Stack 특징

  • 모든 데이터를 HTTP Pull 기반으로 가져오기 때문에, 메트릭 데이터를 중앙으로 보내지 않아도 된다.

  • 시계열을 기반으로 하는 다차원 데이터 모델을 활용할 수 있는 PromQL을 제공합니다.

  • 분산 스토리지에 대한 의존성 없습니다.

  • 모니터링 설정을 Yaml로 관리, 옵션을 유연하게 변경할 수 있습니다.

Kube-Prometheus-Stack 구조

  • Prometheus

    • 메트릭 수집 및 시각화, 알림 서비스를 제공하는 오픈 소스 모니터링 시스템입니다.

    • CNCF 에 소속되어 있으며, 컨테이너 기반의 메트릭 정보를 손쉽게 모니터링 가능합니다.

    • 메트릭을 시계열 데이터로 수집하고 저장하며, 메트릭 정보는 레이블이라는 선택적 키-값 쌍과 함께 기록된 타임스탬프와 함께 저장합니다.

    • Prometheus는 사용자가 실시간으로 시계열 데이터를 선택하고 집계할 수 있는 PromQL(Prometheus Query Language)이라는 기능적 쿼리 언어를 제공합니다.

  • Grafana

    • 시계열 기반의 메트릭 데이터를 시각화 하는데 가장 최적화된 오픈소스입니다.

    • 다양한 데이터베이스를 연결하여 데이터를 가져와 시각화 할 수 있으며, 손쉽게 대시보드 패널을 생성할 수 있습니다.

    • 다양한 플러그인이 있어 Grafana 내부적으로 기능을 확장할 수 있습니다.

2. Kube-Prometheus-Stack 사용

  • Kube-Prometheus-Stack을 통해 설치할 경우 기본적으로 사용할 수 있는 대시보드 템플릿이 존재합니다.

  • Kubernetes 리소스 및 노드별 리소스 현황 등을 손쉽게 모니터링할 수 있습니다.

  • 신규로 대시보드를 생성할 경우 Browse탭의 New Dashboard를 통해 새로운 대시보드를 생성합니다.

  • 새로운 패널을 생성하기 위해 Add a new panel을 선택을 합니다.

  • 오른쪽의 다양한 컴포넌트의 패널을 선택할 수 있고, 원하는 형태의 가시화를 선택하여 사용할 수 있습니다.

  • Graphs & Charts

    • 그래프와 차트는 보통 점, 선으로 나타내는 시각화 패널의 종류로 시간 경과에 따른 상태 변화를 확인할 수 있습니다.

    • 종류 및 특징

      • Time series: 기본 및 기본 그래프 시각화

      • State timeline: 시간 경과에 따른 상태 변경에 대한 상태

      • State history: 시간 경과에 따른 주기적 상태

      • Bar Chart: 모든 범주형 데이터를 시각화

      • Histogram: 값 분포를 계산하고 막대 차트로 표시

  • Stats & numbers

    • 스탯과 넘버는 게이지 형태로 통계를 표시할 때 많이 사용하는 시각화 패널의 종류로 해당 숫자에 따라 상태가 변화되는 것을 확인할 수 있습니다.

    • 종류 및 특징

      • Stat: 큰 통계 및 옵션

      • Gauge: 일반 방사형 게이지

      • Bar gauge: 수평 또는 수직 막대 게이지

  • Misc

    • 테이블과 로그, 네트워크에 대한 그래프로 새롭게 올라온 Data가 해당 Field값에 쌓이는 것을 확인할 수 있습니다.

    • 종류 및 특징

      • Table: 기본이자, 유일한 테이블 시각화

      • Logs: 로그의 기본 시각화

      • Node Graph: 유향 또는 네트워크에 대한 그래프

  • Widgets

    • 위젯 형식은 목록이나 Markdown, RSS 피드를 표시하는 시각화 유형입니다.

    • 종류 및 특징

      • Dashboard List: 대시보드 목록들을 나열

      • Alert list: 경고 목록을 나열

      • Text panel: 마크다운 및 html을 표시 가능

      • News panel: RSS 피드 표시 가능

  • 아래와 같이 패널을 설정한다.

    1. cluster:node_cpu:ratio 메트릭값을 통해 노드별 CPU 사용 비율을 모니터링할 수 있습니다.

    2. 해당 메트릭을 효과적으로 볼수 있는 Stat 패널을 통해 값을 시각화합니다.

    3. Title 값을 통해 해당 패널의 이름을 설정합니다.

    4. 우측 상단의 Apply를 통해 패널을 생성합니다.

  • 이와 같이 커스텀해서 모니터링하고 싶은 값들을 설정하여 시각화할 수 있습니다.

  • 신규로 생성한 패널을 대시보드로 저장할 경우 우측 상단의 Save dashboard를 통해 저장할 수 있습니다.

  • 대시보드 이름을 지정한뒤 대시보드를 저장합니다.

3. Kube-Prometheus-Stack 기술 자료

https://prometheus.io/docs/introduction/overview/

https://grafana.com/docs/grafana/latest/

4. Kube-Prometheus-Stack 릴리즈 노트

https://github.com/prometheus-community/helm-charts/releases

  • No labels