본문 바로가기

컨테이너/Prometheus

[프로메테우스] (1) 프로메테우스 설치

프로메테우스는 각 노드( 관리하고자 하는 서버들에 자기가 원하는 모듈을 설치 후 실행) 하여 방문을 하면서

각 노드들이 수집한 정보들을 가져오는 방식으로 구성된다.

 

각 노드들에 방문하기 위해 기본적으로 프로메테우스 서버를 실행할때 yml 파일을 참조하는데 해당 파일에 

각노드들의 정보(IP 등) 을 가지고 있어야 한다.

 

1. prometheus 설치

 

  • 만약 도커를 안쓰고 tar를 깔아서 설치하려면 이방식으로 해도 됨
  • ./prometheus 데몬 돌리면 9090으로 노출됨
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

./prometheus --config.file=prometheus.yml

 

 

 

 

 

2. prometheus.yml 파일 수정

 

  • exporter들을 심거나 포트 등 수정할 내용이 있으면 볼륨 쉐어 해주면 됨
#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'
    static_configs:
    - targets:
      - localhost:9090

 

 

 

3. 에이전트 심기

 

  • 다음 포스팅에서 다루겠다.

1. 이렇게 cadvisor 같은 에이전트를 각 노드에 심어주는 작업을 선행하고

2. prometheus.yml에 아래처럼 등록해줘야 위에 스크린샷처럼 등록이 된다.

scrape_configs:
  # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
  - job_name: "prometheus"
    static_configs:
      - targets: ["localhost:9090"]
  - job_name: "cadvisor"
    static_configs:
      - targets: ["cadvisor:8080"]

 

 

 


1. 프로메테우스 설치 및 구성

(도커 이용)

 docker run -p 9090:9090 prom/prometheus

# 백그라운드로 실행 ( docker ps 확인하면 올라와있음)

docker run -d --name prom -p 9090:9090 prom/prometheus 

 

# 볼륨 쉐어로 yml파일 변경 적용 가능

$ docker run -d  -p 9090:9090 -v /root/prometheus-2.23.0.linux-amd64:/etc/prometheus \
--name prom \
prom/prometheus