Today
Total
KoreanEnglishFrenchGermanJapaneseSpanishChinese (Simplified)
관리 메뉴

DB & AWS Knowledge

Prometheus (프로메테우스) 개요 본문

DB 관련 지식/DB 연관 IT 개념

Prometheus (프로메테우스) 개요

`O` 2021. 5. 26. 03:16
728x90
반응형

이 페이지에서는 현재 오픈소스 DB 에서 자주 쓰이는 모니터링 툴중 하나인 프로메테우스에 대해서 다룬다.

(출처 : https://prometheus.io/docs/introduction/overview/)

 

 

프로메테우스란?

 

음원 스트리밍 사이트인 SoundCloud 에서 제작한 오픈소스기반 모니터링 툴이다. 2012년 부터 타 회사 및 조직에서 해당 툴을 도입하기 시작하여 2016 년에 클라우드 기반 소프트웨어의 생태를 조성하기 위해 만들어진 클라우드 네이티브 소프트웨어 재단 - Cloud Native Computing Foundation (CNCF) 에 쿠버네티스 다음으로 공식 프로젝트로써 등록되게 되었다.

 

특징 (Features)

 

프로메테우스는 아래와 같은 특징을 가지고 있다.

 

  • 메트릭 혹은 key/value 기반의 데이터를 일련의 시간과 조합하여 다차원적인 데이터 모델을 만든다
  • DB 언어인 SQL 처럼 프로메테우스는 툴 사용, 커스터마이징을 할 때 PromSQL 이라는 언어를 제공 한다.
  • 서버 자체에 할당된 스토리지에 필수적으로 의존하지 않는다.
  • HTTP 로 송신되는 모델에 기반하여 일련의 시간단위의 데이터를 수집한다.
  • 내부 게이트웨이 (intermediary gateway) 를 통해 데이터 수집 시간 흐름을 조절 할 수 있다.
  • 서버 탐지 혹은 통계 수집 설정을 통하여 수집 대상 서버들이 모니터링 대상에 등록된다.
  • 다양한 시각적, 대쉬보드 형태의 수집 형식을 지원한다.

 

구성요소 (Components)

 

프로메테우스는 사용자가 원하는 용도에 따라 구성요소들을 선별하여 사용 할 수 있다. 

아래의 요소들은 프로메테우스를 사용할 때 선별할수 있는 요소들이며, 이중 다수는 부가요소로 용도에 따라 사용하지 않을 수도 있다.

 

  • 메인 Prometheus 서버 : 시간단위 데이터를 수집하고 보관하는 공간
  • 클라이언트 라이브러리 : 어플리케이션 코드를 적용하기 위해 사용하는 영역
  • 푸시 게이트웨이 (push gateway) : 보존주기가 짧은 작업들을 관리하는 영역
  • 다목적 exporters : 수집하려는 app, code, infra 등의 환경에 맞게 모니터링 데이터를 취합하는 영역
    DB 뿐만 아니라 구성에 따라 APP 부터 인프라까지의 모든 요소들을 모니터링 할 수 있다.
    각 요소들을 모니터링 하려면 각 요소에 맞는 exporter 를 설치 해야 한다.
    예를 들어 MySQL 의 모니터링 데이터를 취합하기 위해서는 해당 DB 서버에 mysqld_exporter 를 사용해야 한다.
  • 알림 메니저 (alertmanager) : 모니터링 중 관리자들에게 이상여부를 알리기 위해 사용하는 영역
    메일, 문자등의 알림 수단을 설정 할 수 있다.
  • 기타 다수 지원 툴들

아키텍처

 

프로메테우스의 공식아키첵처는 아래와 같다. 여기서 구성요소는 사용자의 커스터마이징에 따라 달라 질 수 있다.

 

 

 

 

반응형
Comments