μ΄λ³΄κ°λ°μκ° λ°°μ°λ λ¨κ³μμμ ν¬μ€νΈ κΈμ λλ€. λΆμ‘±ν μ μ΄ λ§μ΄ μμ μ μμ΅λλ€. μ΄ν΄ν΄μ£ΌμΈμ..ππ
μ΄λ² μκ°μλ νλ‘λ©ν μ°μ€λ₯Ό μ€μΉνκ³ μ€νν΄λ³΄λ μκ°μ κ°λλ‘ νκ² μ΅λλ€. μ λ AWS t2.microλ₯Ό μ¬μ©ν΄μ 리λ μ€ νκ²½μμ ν μ€νΈλ₯Ό μ§ννμ΅λλ€.
https://prometheus.io/download/
$ wget https://github.com/prometheus/prometheus/releases/download/v2.20.1/prometheus-2.20.1.linux-amd64.tar.gz
λ²μ μ νμ¬ 2.20.1 κΈ°μ€μΌλ‘ μ§ννμ΅λλ€. μ°Έκ³ λ‘ wget
μ μΉ μλ²λ‘λΆν° μ½ν
μΈ λ₯Ό κ°μ Έμ€λ μ»΄ν¨ν° νλ‘κ·Έλ¨μΌλ‘ μ΄λΌκ³ 보μλ©΄ λ©λλ€.
$ tar zxvf prometheus-2.20.1.linux-amd64.tar.gz
$ cd prometheus-2.20.1.linux-amd64/
$ nano prometheus.yml
# my global config
global:
scrape_interval: 10s # Set the scrape interval to every 10 seconds. Default is every 1 minute.
evaluation_interval: 10s # Evaluate rules every 10 seconds. The default is every 1 minute.
# scrape_timeout is set to the global default (10s).
# 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']
μλ§ μ²μμλ μ΄λ κ² λμ΄μμ κ²λλ€.
global (κΈ°λ³Έμ μΈ μ μμ€μ )
scrape_configs (λ©νΈλ¦μ μμ§ν μλν¬μΈνΈλ‘ μ¬κΈ°μλ prometheus μλ² μμ μ κ°λ¦¬ν€λ μ€μ μ νλ€. μ¬λ¬κ° μ€μ μ΄ κ°λ₯νλ€.)
(μ¬κΈ°μ μ μ μλ κ²μ Prometheusλ λ©νΈλ¦μ μμ§νλ μν μ νλ λμμ, μμ μ΄ μ΅μ€ν¬ν° μν μ λ³νν΄μ μν ν μ μλ€λ μ μΈλ― ν©λλ€.)
$ ./prometheus
νλ‘λ©ν μ°μ€ μλ²λ₯Ό μ€ννλ©΄ μ΄ λ κ°μ§ μ¬μ΄νΈμ μ κ·Όν μ μμ΅λλ€.
첫λ²μ§Έλ http://μμ μipμ£Όμ:9090/metrics
μ
λλ€. νλ‘λ©ν
μ°μ€λ μλμ κ°μ λ©νΈλ¦μ μμ§νκ² λ©λλ€.
λλ²μ§Έλ‘λ http://μμ μipμ£Όμ:9090/
μ
λλ€. μ¬κΈ°μλ PromQLμ μ¨μ λ©νΈλ¦ μ€μμ λ΄κ° μνλ μ 보λ₯Ό κ°μ Έμ¬ μ μμ΅λλ€.
Targets λ©λ΄λ₯Ό λ€μ΄κ°λ³΄λ©΄ jobμ΄ prometheusμ΄κ³ μ’ μ μ λ΄€λ /metrics
μ΄ endpointμΈ κ²μ μ μ μμ΅λλ€.
λ€μμκ°μλ λ©νΈλ¦μ λν ꡬ쑰 μ€λͺ κ³Ό ꡬ쑰λ₯Ό μ΄ν΄ν λ€μ PromQLμ μ¬μ©ν΄λ³΄λ μκ°μ κ°λλ‘ νκ² μ΅λλ€.
μ°Έκ³ λ¬Έν
κ°μΆ