만자의 개발일지

[Prometheus] Prometheus 설치하기 본문

Monitoring/Prometheus

[Prometheus] Prometheus 설치하기

박만자 2022. 7. 27. 10:53

Prometheus 설치

이번 포스팅은 EC2(Amazon Linux 2)에서 진행하였습니다.

 

Prometheus 설치

먼저 아래 사이트로 접속합니다.

https://prometheus.io/download

 

Download | Prometheus

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

prometheus.io

 

다운받을 버전의 압축파일을 우클릭한 후 링크 주소 복사를 클릭합니다.

 

wget 명령어로 해당 압축파일을 다운로드 받습니다.

$ wget https://github.com/prometheus/prometheus/releases/download/v2.37.0/prometheus-2.37.0.linux-amd64.tar.gz

 

다운받은 압축파일의 압축을 해제합니다.

$ tar xzvf prometheus-2.37.0.linux-amd64.tar.gz

 

YAML 파일 설정

압축해제한 폴더로 이동합니다.

$ cd prometheus-2.37.0.linux-amd64

 

vi 편집기를 통해 prometheus.yml 파일 내용을 확인합니다.

$ vi prometheus.yml

 

기본적으로 다음과 같이 구성되어있습니다.

# my global config
global:
  scrape_interval: 15s # Set the scrape interval to every 15 seconds. Default is every 1 minute.
  evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute.
  # scrape_timeout is set to the global default (10s).

# Alertmanager configuration
alerting:
  alertmanagers:
    - static_configs:
        - targets:
          # - alertmanager:9093

# Load rules once and periodically evaluate them according to the global 'evaluation_interval'.
rule_files:
  # - "first_rules.yml"
  # - "second_rules.yml"

# A scrape configuration containing exactly one endpoint to scrape:
# Here it's Prometheus itself.
scrape_configs:
  # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
  - job_name: "prometheus"

    # metrics_path defaults to '/metrics'
    # scheme defaults to 'http'.

    static_configs:
      - targets: ["localhost:9090"]

 

각 섹션이 무슨 역할을 하는지 알아보도록 하겠습니다.

 

  • global
    • 전역 설정을 할 수 있습니다.
  • scrape_interval
    • 매트릭을 수집할 주기를 설정할 수 있습니다.(기본값 1분)
  • evaluation_interval
    • 규칙을 평가할 주기를 설정할 수 있습니다. (기본값 1분)
  • alerting
    • Alertmanager에 대해 설정할 수 있습니다.
  • rule_files
    • 규칙을 로딩하고 evaluation_interval  설정에 따라 주기적으로 평가합니다.
  • scrape_configs
    • 메트릭을 수집할 엔드포인트에 대해 설정할 수 있습니다.
  • job_name
    • 이 설정에서 수집한 타임시리즈에 대해 'job=<job_name>'으로 라벨을 추가합니다.
  • static_configs
    • 타겟(엔드포인트)과 타겟에 대한 라벨을 지정해 줄 수 있습니다.
  • targets
    • 메트릭을 수집할 엔드포인트를 지정해 줄 수 있습니다.

 

이번 포스팅에서는 기본 설정으로 진행하도록 하겠습니다.

 

Prometheus 실행

다음 명령어로 Prometheus를 실행합니다. Prometheus는 하나의 바이너리 파일로 동작하며 기본적으로 9090포트를 사용합니다. 

$ ./prometheus

 

Prometheus 실행 확인

 

Prometheus가 실행되고 있는 서버의 9090포트로 접속합니다.

잘 작동하는 것을 보실 수 있습니다.

 

/metrics 경로로 접속하면 Prometheus가 수집할 수 있는 metric에 대한 정보를 확인할 수 있습니다.

 

참고 

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

[Prometheus] Docker 메트릭 수집하기  (0) 2022.07.28
[Prometheus] Node Exporter란?  (1) 2022.07.28
[Prometheus] Prometheus란?  (0) 2022.07.27
Comments