본문 바로가기
Monitoring Tools/Prometheus

프로메테우스란? (Prometheus)

by 주사휘 2021. 5. 27.
반응형

1. Prometheus 란?

  • 오픈소스 기반의 모니터링 시스템
  • 주로 Kubernetes의 메인 모니터링 시스템으로 사용된다.

2. 기본 구조

  • Metric 수집 구조 

Prometheus Architectur

3. 기본 동작과정 설명

  1. Service Discovery 의 정보를 Retrieval에게 전달 (모니터링 대상의 기동중인 서비스 목록, IP)
  2. Retrieval이 모니터링 대상을 Service Discovery에게 전달받아, 타겟에 접근하여 메트릭을 수집합니다.
  3. exporters는 모니터링 대상에 설치되며, 본인Metric 을 수집하고 Retrieval이 수집해 갈 수 있도록 엔드포인트 제공
    • exporter가 /metrics 라는 HTTP 엔드포인트를 본인쪽에서 제공하고, 서버(Retrieval)가 GET요청을 모니터링 대상의 엔드포인트로 날려 정보를 가져오는(Pull) 형식
  4. Retrieval가 수집한 타겟의 Metric 들을 TSDB가 저장 후에 시각화 합니다.
    • 데이터를 저장하는 방법은 Local, Remote 두 가지 방법이 존재함
      • 보통은 Local방식으로 저장하며, Google사의 Level DB를 사용합니다.
  5. 시각화한 데이터들을 보여주기 위해, Prometheus 내부 HTTP Server가 별도의 HTTP REST API를 제공 합니다.

4. 용어 및 모듈 설명

  • Service Discovery
    • 현재 모니터링 대상의 서비스 목록 및 IP주소를 가지고 있는 서비스(address, service, node정보 등)
    • 기존의 오픈소스 모니터링들은 대부분 Push방식으로, 대상이 새로 추가될 경우 IP정보가 없어 모니터링 대상에저 제외되는 문제를 해결하기 위해 나온 서비스 -> 뭔소릴까?..
  • Exporter
    • 모니터링 대상 타겟에서 작동하는 Agent
    • 타겟 시스템의 Metric을 읽어서 프로메테우스 서버가 Pulling 할 수 있도록 해준다.
    • 요청이 있을 때, 리턴하기 때문에 정확한 값이라고 할 수 없습니다.
      • Retrieval이 30초마다 Pulling 할 경우, 그 당시의 메트릭만 기록합니다.
  • Retrieval
    • 모니터링 대상 타겟으로부터 메트릭을 수집하는 모듈(컴포넌트)
    • Service Discovery System으로부터 모니터링 타겟의 목록을 받아서, 주기적으로 메트릭을 수집

5. Metric 데이터 형식

메트릭명{필드1=값, 필드2=값}@TimeStamp 샘플링 데이터

6. 리눅스에 설치하기

링크 : 

반응형