본문 바로가기
  • A space that records me :)
기술/Prometheus

프로메테우스(Prometheus) 설치 및 사용

by yjkim_97 2021. 7. 17.

설치 환경

  • linux (MacOs)
  • docker

1. Configuration 파일 작성

파일명은 prometheus.yml 이다.

$ vi {path}/prometheus.yml

작성 예시는 아래와 같다. Prometheus에서 제공하는 기본 샘플이다.

# 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']

 

  • Configuration 설정을 아래의 게시글 참고

2021.07.17 - [IT story] - 프로메테우스 Configuration

 

프로메테우스 Configuration

Configuration 파일 구성 Main configuration key type default 설명 global.scrape_interval 정규식 1m 타겟 시스템으로 부터 메트릭을 수집하는 주기 How frequently to scrape targets by default. global.scra..

yjkim97.tistory.com


2. 프로메테우스 실행 및 사용

  1. 미리 컴파일된 바이너리를 사용 (darwin, linux, window 별로 제공)
  2. Quay.io또는Docker Hub에서 Docker 이미지로 사용

나는 도커로 실행했다. 처음 제공되는 linux 바이너리로 실행 시도했는데 왜인지 실행되지 않았다.

도커 설치

$ brew install --cask docker

도커로 배포 후 실행

$ sudo docker run -p {실행 포트}:9090 -v {path}/prometheus.yml:/etc/prometheus/prometheus.yml prom/prometheus

{path}/prometheus.yml 파일이 컨테이너 내부의 /etc/prometheus/prometheus.yml로 세팅시킨다.

컨테이너 종료 후 수집하던 메트릭 데이터를 보존하기 위해 prometheus-volume이라는 볼륨을 생성하고 그 볼륨에 /prometheus 디렉터리와 마운드 시킨다.

 

도커 컨테이너가 잘 배포되었는지 확인

$ docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 89e8211776c1 prom/prometheus "/bin/prometheus --c…" 3 seconds ago Up 2 seconds 0.0.0.0:9090->9090/tcp interesting_nash

 


https://medium.com/finda-tech/prometheus%EB%9E%80-cf52c9a8785f

 

Prometheus란?

오픈소스 모니터링 툴 Prometheus에 대해서 알아보자.

medium.com