Code States/TIL

[0602] 서비스 모니터링 - Prometheus 모니터링 시스템

ki1111m2 2023. 6. 2. 17:01

학습 목표

모니터링의 목표와 측정 항목(metric)

  • 서비스 및 계층별 메트릭을 이해할 수 있다.
    • 주요 메트릭이 어떤 범주(컴퓨팅 유닛 관련, 요청/응답 관련, 스케일링 관련)에 속하는지 이해할 수 있다.
  • 서비스 별 "키 메트릭"(Key metric, 핵심 지표)이 무엇인지 이해할 수 있다.
  • 사이트 신뢰성 엔지니어링(SRE)에서 필요로 하는 주요 메트릭과, 모니터링 패턴을 이해할 수 있다.

Amazon CloudWatch

  • CloudWatch를 통해 로그 및 그래프를 볼 수 있다.
  • CloudWatch를 통해 경보를 설정할 수 있다.
  • 오토 스케일링 원리를 복습하고, CloudWatch 및 SNS, Lambda를 통해 경보가 전달되는 메커니즘을 이해하고 구현할 수 있다.

Prometheus + Grafana

  • 쿠버네티스 모니터링 시스템이 Prometheus와 Grafana를 통해 구현됨을 이해할 수 있다.

서비스 수준 목표

  • 서비스 수준 척도(SLI), 서비스 수준 목표(SLO), 서비스 수준 협약(SLA)의 의미를 이해할 수 있다.
  • 메트릭을 이용한 주요 SLO를 이해하고, 어떻게 목표를 세우는지 알 수 있다.

  • 오픈소스 모니터링/알림 시스템
  • 쿠버네티스, 노드, 프로메테우스 자체를 모니터링할 수 있음
  • 쿠버네티스를 지원하고 관리하는 재단인 CNCF에서 프로메테우스 역시 관리하고 있으며, 이 두 도구를 비롯해 시각화를 담당하는 Grafana와 함께 세 도구 조합은 정석적으로 널리 사용되고 있음
  • 구성 요소
    • 시계열(time series) 데이터를 저장
    • 프로메테우스 서버는 다양한 exporter로부터 각 대상의 메트릭을 pull하여 주기적으로 가져오는 모니터링 시스템
      • 예를 들어, 쿠버네티스 관련 메트릭을 가져오고 싶다면 쿠버네티스 exporter를, mongoDB 관련 메트릭을 가져오고 싶다면 mongodb exporter를 사용
    • Alert manager는 경고 및 알람을 담당함
    • 사용자가 데이터를 질의할 수 있는 Web UI가 존재
      • 이때 질의 언어로는 PromQL(Prometheus Query Language)을 사용
  • Grafana: 프로메테우스에서 권장하는 시각화 도구