Prometheus와 Grafana, CAdvisor

JeongJun Min·2024년 1월 17일

Techeer

목록 보기
2/9

모니터링

  • 서비스 운영 시 발생할 수 있는 이슈나 오류에 대비하기 위해 관련 데이터를 수집하고 기록
  • 서비스의 안정적인 운영을 위해 서버의 리소스 정보를 한곳으로 모아서 관리하고 시각화 하기 위함
  • 분산 시스템에서 발생하는 메트릭 데이터를 수집, 저장, 분석

Prometheus

  • 메트릭 수집, 시각화, 알림, 서비스 디스커버리 기능을 모두 제공하는 메트릭 기반 오픈 소스 모니터링 시스템

메트릭: 시스템의 성능과 상태에 대한 통계적인 정보(cpu사용량, 메모리 사용량, 응답 시간)

prometheus 아키텍처

  • exporter
    • 시스템의 메트릭을 실제로 수집하는 프로세스
    • HTTP 통신을 통해 메트릭 데이터를 가져갈 수 있게 엔트포인트를 제공
  • Pushgateway
    - prometheus server가 pulling할 수 있도록 중계자 역할
  • prometheus server
    • 메트릭 데이터를 수집하고 저장
    • retrieval: expoter가 제공한 엔트포인트에 GET요청ㅇ로 메트릭 정보를 수집
    • TSDB: 시계열 데이터를 저장하는 스토리지
  • alertmanager
    • 특정 메트릭에 문제가 발생 시 이메일, 슬랙 등 알림
  • service discovery
    • 메트릭 수집 대상을 파악
    • MSA로 구성된 서비스에서 각각 다른 IP와 Port에 대한 정보를 저장하고 관리하기 위해 쿠버네티스를통해 모니터링할 타켓 서비스의 목록을 가져옴

kubernetes: 컨테이너 관리를 자동화 해주고 쉽게 빠르게 배포 및 확장할 수 있는 오픈소스 플랫폼

특징

  • pull 방식의 구조로, 모든 메트릭의 정보를 중앙 서버로 보내지 않아도 된다.
    • push: 데이터를 가진 곳에서, 필요한 곳으로 보냄
    • pull: 데이터가 필요한 곳에서 가진 곳에 접속하여 데이터를 수집
  • 데이터 저장소가 시계열 데이터 저장소로 구성되어, 많은 양의 정보를 빠르게 검색 가능하다.
  • PromQL을 통한 강력한 쿼리

Grafana

  • 오픈소스 메트릭 데이터 시각화 도구
  • 모니터링 및 경고, 로그 분석, 비지니스 지표 추적 등

CAdvisor

  • 구글에서 만든 컨테이너 모니터링 도구
  • 컨테이너별 실시간 자원 사용량 및 도커 모니터링 정보 등 시각화

CAdvisor+ Prometheus + Grafana

참고

Prometheus란 무엇인가

Prometheus란?

Grafana란?

[프로메테우스] (3) CAdvisor란?

profile
개발계발

0개의 댓글