Cloud/Prometheus

Prometheus란?

DGO 2023. 5. 31. 03:08

프로메테우스는 사운드클라우드에서 자사 서비스의 모니터링을 위해 개발한 도구로 현재 오픈 소스로 전환되었고 시계열

 

데이터를 처리하는 것이 주 목적인 프로그램이다. 

 

프로메테우스는 주로 CPU, 메모리 등과 같은 메트릭 데이터에 대한 모니터링 구축을 목적으로 하기 때문에 MSA 형태의

 

컨테이너 서비스, 서버 클러스터 모니터링 등에서 사용하는 것이 일반적이다.

 

 

프로메테우스의 장점

 

프로메테우스는 CNCF에 속한 프로젝트로서 같은 CNCF의 프로젝트들은 대부분 데이터 백엔드로 프로메테우스를 지원하

 

고 있기 때문에 큰 노력 없이 쉽게 모니터링 시스템을 구축할 수 있다.

 

쿠버네티스의 경우 메트릭을 내보내는 /metrics, cadvisor와 같은 기능을 내장하기 때문에 프로메테우스와 쉽게 연동하여

 

모니터링 시스템을 구축할 수 있다.

 

CNCF? 클라우드 네이티브 오픈소스 기술을 추진하고 관리하는 단체이며 쿠버네티스를 포함한 많은 프로젝트가 포함

 

https://www.cncf.io/

 

Cloud Native Computing Foundation

CNCF is the vendor-neutral hub of cloud native computing, dedicated to making cloud native ubiquitous.

www.cncf.io

 

각종 대시보드 도구나 메신저 등이 프로메테우스와 연계를 지원하여 직접 모니터링 시스템을 구축하기에도 좋고 대표적으

 

로 그라파나와 같은 시각화 도구와 연계하여 사용하면 시각화 기능을 제공할 수 있다.

 

 

프로메테우스 구성

 

 

프로메테우스는 위와 같이 많은 종류의 오브젝트를 설치하며 해당 오브젝트를 통해 설치된 요소로 모니터링에 필요한 데

 

이터를 수집하고 저장한다.

 

프로메테우스 서버(prometheus-server)    

 

프로메테우스의 주요 기능을 수행하는 요소로, 3가지 역할을 맡는다. 노드 익스포터 외 여러 대상에서 공개된 메트릭을 수집해 오는 수집기, 수집한 시계열 메트릭 데이터를 저장하는 시계열 데이터베이스, 저장된 데이터를 질의하거나 수집 대상의 상태를 확인할 수 있는 웹 UI를 제공한다.

 

노드 익스포터(node-exporter)

 

노드의 시스템 메트릭 정보를 HTTP로 공개하는 역할을 하며 노드에서 특정 파일들을 읽고, 이를 프로메테우스 서버가 수집할 수 있는 메트릭 데이터로 변환한 후에 노드 익스포터에서 HTTP 서버로 공개한다. 공개된 내용은 프로메테우스 서버에서 수집해 가게 된다.

 

쿠버 스테이트 메트릭(kube-state-metrics)

 

API 서버로 쿠버네티스 클러스터의 여러 메트릭 데이터를 수집한 후, 이를 프로메테우스 서버가 수집할 수 있는 메트릭 데이터로 변환해 공개하는 역할을 한다

 

얼럿매니저(alertmanager)

 

얼럿매니저는 프로메테우스에 경보(alert) 규칙을 설정하고, 경보 이벤트가 발생하면 설정된 경보 메시지를 대상에게 전달하는 기능을 제공한다. 프로메테우스에 설치하면 프로메테우스 서버에서 주기적으로 경보를 보낼 대상을 감시해 시스템을 안정적으로 운영할 수 있게 된다.

'Cloud > Prometheus' 카테고리의 다른 글

프로메테우스 (Web UI)  (0) 2023.06.01
프로메테우스 설치 및 실행  (0) 2023.05.31