설치 환경
- 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
2. 프로메테우스 실행 및 사용
- 미리 컴파일된 바이너리를 사용 (darwin, linux, window 별로 제공)
- 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) Exporter - 모니터링 에이전트 (0) | 2021.07.17 |
---|---|
프로메테우스(Prometheus) Configuration (0) | 2021.07.17 |
프로메테우스(prometheus) 란? (0) | 2021.07.16 |