Prometheus?
SoundCloud에서 개발하였으며, 시스템 이벤트 모니터링 및 경고를 제공하는 시계열 오픈소스 프로그램이다.
자체 쿼리(PromQL)을 제공하고 있으며, GO Language로 작성, Apache 2.0 라이센스를 따르는 독립형 오픈소스 프로젝트이다.
구성요소
- 시계열(Metric) 데이터를 스크랩하여 저장하는 Main Prometheus 서버
- 이러한 데이터를 활용하는 쿼리 언어인 PromQL
- 다양한 그래프를 제공하지만, 주로 Grafana와 연동해서 사용한다.
- AlertManager를 통해 경고 알림을 제공한다.
- 분산 저장장치에 의존하지 않는다.
- 단일 서버 노드는 자율적이다.
Architecture
Prometheus가 다른 모니터링 프로그램과 다른 점은 데이터를 수집하는 방식이 Push 방식이 아니라 Pull 방식으로 데이터를 수집한다.
- Push 방식 : 서버별 클라이언트가 Metric 데이터를 수집해서 서버로 보내는 방식
- Pull 방식 : 서버별 클라이언트가 Metric 데이터를 수집하면 서버가 접근해서 데이터를 가져오는 방식
즉, 클라이언트에 해당되는 Jobs/Exporter가 Metric 데이터를 수집 후 제공하는 HTTP 엔드포인트(ex : /metric)를 통해 서버가 접근해서 해당되는 데이터를 HTTP GET 요청으로 가져가는 방식이다.
Push gateway : Exporter를 쓰기 어려운 경우(Batch Job, Proxy Forwarding...) 사용하는 방식으로써, 해당 어플리케이션이 Push gateway에 Metric 데이터를 Push 후, 서버가 접근해서 데이터를 가져오는 방법이다.
Alertmanager : 쿼리로 실행된 결과는 알림이 되며, 특정한 규칙을 만들어 이메일 등으로 전송이 되게한다.
'Before 2022 > AWS & DevOps' 카테고리의 다른 글
AWS S3 & CloudFront & Route 53을 활용한 정적 웹 호스팅 하기 (0) | 2021.03.14 |
---|---|
Route 53 DNS 레코드 등록하기 (0) | 2021.03.09 |
Cloud Computing 및 PaaS, SaaS, IaaS (0) | 2021.02.24 |
서버 H/W 모니터링 시스템 만들기 (2) | 2021.02.21 |
Docker 소개 (0) | 2021.02.20 |