모니터링

프로메테우스란 무엇인가?

Junuuu 2023. 7. 15. 00:01
728x90

프로메테우스란?

구글의 쿠버네티스를 모니터링하기 위한 소프트웨어로 Borgmon이라는 것이 만들어졌는데 이를 비슷하게 오픈 소스로 공개한 것이 Prometheus입니다.

즉, Prometheus는 오픈소스 모니터링 시스템입니다.

https://hudi.blog/spring-boot-actuator-prometheus-grafana-set-up/

Spring Boot Application의 여러 메트릭을 수집하여 모니터링할 수 있는 환경을 구축할 수 있습니다.

Spring Boot의 Actuator, Prometheus, Grafana 조합을 많이 사용하며 이를 통해 애플리케이션의 성능 및 상태에 대해 확인할 수 있습니다.

 

https://brunch.co.kr/@springboot/734

HTTP를 통한 pull model을 통해 주기적으로 수집하여 시계열 데이터로 저장합니다.

Spring Boot Actuator의 prometheus 앤드포인트를 사용하여 지표를 수집합니다.

 

 

메트릭이란?

메트릭은 다양한 유형의 요청 시간, 데이터베이스 Connection, CPU 사용량 들을 숫자 데이터로 표현한 것입니다.

사용자가 측정하고자 하는 값을 Time series 즉, 시간에 따른 변화를 기록하고 이를 통해 부하를 처리하는 방안에 대해 고민할 수 있습니다.

 

아키텍처

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

프로메테우스의 아키텍처로 6개의 구성요소로 나뉩니다.

  • Prometheus server(본체)
  • Service discovery
  • Exporter라는 감시 에이전트
  • 경고의 기능을 잡는 Alert
  • 쿼리 언어인 PromQL
  • 시각화 기능인 Visualization

 

여기서 핵심은 다음과 같습니다.

1. Prometheus는 일정주기별로 metircs을 pull해옵니다.

2. 해당 metrics를 Database에 저장합니다.

3. 저장된 데이터에 대해 규칙을 실행하여 기존 데이터에서 새로운 time series를 집계 및 기록하거나 alert를 생성합니다.

4. 수집된 데이터를 시각화하기 위해 Grafana 또는 다른 API 소비자를 사용할 수 있습니다.

 

 

Prometheus를 사용하기에 적합하지 않은 일

프로메테우스는 장애 상황에서도 시스템에 대한 통계를 항상 확인할 수 있어야 하니다.

요청당 청구와 같이 100% 정확성이 요구되는 일에는 좋은 선택이 아닙니다.

 

 

 

참고자료

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

 

Overview | Prometheus

An open-source monitoring system with a dimensional data model, flexible query language, efficient time series database and modern alerting approach.

prometheus.io

https://brunch.co.kr/@springboot/734

 

스프링부트 프로메테우스 모니터링

이 글은, 스프링부트에서 프로메테우스를 연동하는 글이다. 프로테우스에 대한 상세한 내용은 생략하며, 프로메테우스를 사용해본 경력자는 굳이 안 읽어도 된다. 주니어 개발자는 가벼운 마음

brunch.co.kr

https://hudi.blog/spring-boot-actuator-prometheus-grafana-set-up/

 

Spring Boot Actuator, Prometheus, Grafana를 사용한 스프링부트 모니터링 환경 구축

이 포스팅에서는 Spring Actuator, Prometheus, Grafana를 사용하여 스프링부트 애플리케이션과 관련된 여러 메트릭을 수집하고, 시각화하여 모니터링할 수 있는 환경을 구축한다. 이 글에서는 각각의 컨

hudi.blog

https://meetup.nhncloud.com/posts/237

 

Prometheus + Grafana로 Java 애플리케이션 모니터링하기 : NHN Cloud Meetup

Prometheus 2012년에 처음으로 모습을 드러낸 오픈소스 모니터링 플랫폼입니다.

meetup.nhncloud.com

https://www.devkuma.com/docs/prometheus/overview/

 

Prometheus의 특징과 아키텍처

Prometheus란? Prometheus(프로메테우스)는 SoundCloud라는 해외 음악 관련 서비스 엔지니어가 개발한 감시 시스템이다. 원래, Kubernetes의 전신이었던 Google의 내부에서 사용되고 있던 Borg(보그)라고 하는

www.devkuma.com