[ 아키텍처 ]
- 시계열 데이터를 스크래핑하고 저장하는 프로메테우스 메인 서버
- 응용 프로그램 코드 계측을 위한 클라이언트 라이브러리
- Short-lived Job 지원을 위한 게이트웨이
- HAProxy, StatsD, Graphite 등과 같은 서비스를 Exporter.
- Alter Manager
- 다양한 지원 도구
Download
$ wget https://github.com/prometheus/prometheus/releases/download/v2.32.1/prometheus-2.32.1.linux-amd64.tar.gz
$ tar -xvf prometheus-2.32.1.linux-amd64.tar.gz
설정파일 : prometheus.yml
global:
# 얼마나 자주 scrap할 건지
scrape_interval: 15s
# 얼마나 자주 rules을 적용할건지
evaluation_interval: 15s
rule_files:
# - "first.rules"
# - "second.rules"
# Http endpoint로 데이터 노출 http://localhost:9090
# Metrics 수집시 http://localhost:9090/metrics
scrape_configs:
- job_name: prometheus
static_configs:
- targets: ['localhost:9090']
설정 옵션 : https://prometheus.io/docs/prometheus/latest/configuration/configuration/
실행 command
./prometheus --config.file=prometheus.yml
systemd에 service등록
/etc/systemd/system/prometheus.service
[Unit]
Description=Prometheus Server
Documentation=https://prometheus.io/docs/introduction/overview/
After=network-online.target
[Service]
User=prometheus
Restart=on-failure
ExecStart=/home/prometheus/prometheus \
--config.file=/home/prometheus/prometheus.yml \
[Install]
WantedBy=multi-user.target
실행 command2
systemctl start prometheus.service
promhttp_metric_handler_requests_total
promhttp_metric_handler_requests_total{code="200"}
count(promhttp_metric_handler_requests_total)
rate(promhttp_metric_handler_requests_total{code="200"}[10m])
scrape_duration_seconds{job="prometheus", instance="localhost:9090"}