2022년 1월 3일 월요일

[ Prometheus ] 프로메테우스 설치

 [ 아키텍처 ] 

  • 시계열 데이터를 스크래핑하고 저장하는 프로메테우스 메인 서버
  • 응용 프로그램 코드 계측을 위한 클라이언트 라이브러리
  • 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


Graph : localhost:9090/graph -> 검색창에 아래 매트릭스 이름 검색

promhttp_metric_handler_requests_total


Filtering code=200

promhttp_metric_handler_requests_total{code="200"}

count metric

count(promhttp_metric_handler_requests_total)

graph interval control

rate(promhttp_metric_handler_requests_total{code="200"}[10m])

sample job monitoring
- prometheus에서 설정한 job이름으로 검색

scrape_duration_seconds{job="prometheus", instance="localhost:9090"}


댓글 없음:

댓글 쓰기