CodeGym /Kurslar /Docker SELF /Prometheus ilə konteynerlərin monitorinqinin qurulması

Prometheus ilə konteynerlərin monitorinqinin qurulması

Docker SELF
Səviyyə , Dərs
Mövcuddur

4.1 Prometheus-un Qurulması

Prometheus — bu, müxtəlif mənbələrdən, o cümlədən Docker-konteynerlərdən metriklərin toplamaq və saxlamaq üçün nəzərdə tutulmuş açıq mənbə kodlu, güclü monitorinq və xəbərdarlıq sistemidir. Bu mühazirədə biz Prometheus vasitəsilə konteynerlər üçün monitorinqin sazlanmasını, o cümlədən quraşdırma, metriklərin toplanmasını və Docker ilə inteqrasiyasını ətraflı şəkildə nəzərdən keçirəcəyik.

1. Prometheus-un yüklənməsi və qurulması

Əvvəlcə Prometheus-un son versiyasını rəsmi saytdan yükləyin:

Terminal

wget https://github.com/prometheus/prometheus/releases/download/v2.30.3/prometheus-
2.30.3.linux-amd64.tar.gz

Arxivi açın:

Terminal

tar xvfz prometheus-*.tar.gz
cd prometheus-*      

Binar faylları /usr/local/bin kataloquna keçirin:

Terminal

sudo mv prometheus /usr/local/bin/
sudo mv promtool /usr/local/bin/

5.2 Prometheus konfiqurasiya faylının qurulması

Prometheus metrik mənbələrini və məlumatların toplanması parametrlərini müəyyən etmək üçün prometheus.yml konfiqurasiya faylından istifadə edir. prometheus.yml faylını yaradın və ya redaktə edin:

Yaml

global:
  scrape_interval: 15s  # Metriklərin toplanma intervalı
      
scrape_configs:
  - job_name: 'prometheus'
    static_configs:
      - targets: ['localhost:9090']
      
  - job_name: 'cadvisor'
    static_configs:
      - targets: ['localhost:8080']

Bu konfiqurasiya faylında iki vəzifə (job) var:

  1. prometheus — Prometheus-un özündən metriklərin toplanması üçün.
  2. cadvisor — Docker konteynerlərinin monitorinqi üçün istifadə edilən cAdvisor-dan metriklərin toplanması üçün.

5.3 Prometheus-un işə salınması

Yaradılmış konfiqurasiya faylından istifadə edərək Prometheus-u işə salın:

Terminal

prometheus --config.file=prometheus.yml

Prometheus bu ünvanda əlçatan olacaq: http://localhost:9090.

5.4 cAdvisor-ın quraşdırılması və sazlanması

cAdvisor (Container Advisor) — bu, konteynerlərin monitorinqi üçün alətdir, hansı ki, Docker konteynerləri üçün metrikləri toplayır və təqdim edir. Ondan istifadə etmək üçün aşağıdakı addımları yerinə yetirin:

cAdvisor-ı Docker konteynerində başladın:

Terminal

docker run -d \
  --name=cadvisor \
  --volume=/:/rootfs:ro \
  --volume=/var/run:/var/run:ro \
  --volume=/sys:/sys:ro \
  --volume=/var/lib/docker/:/var/lib/docker:ro \
  --publish=8080:8080 \
  --privileged \
  google/cadvisor:latest

cAdvisor ünvanında mövcud olacaq http://localhost:8080.

5.5 cAdvisor üçün Prometheus konfiqurasiyasının yenilənməsi

Əmin olun ki, Prometheus konfiqurasiyasında cAdvisor üçün tapşırıq daxil edilib. Konfiqurasiya nümunəsi yuxarıda təqdim edilib.

Dəyişiklikləri tətbiq etmək üçün Prometheus-u yenidən başladın:

Terminal


prometheus --config.file=prometheus.yml

5.6 Metriklərin yığılmasının yoxlanılması

Prometheus-un veb interfeysinə bu ünvanda keçid edin http://localhost:9090 və əmin olun ki, Prometheus cAdvisor-dan metrikləri yığır. Bunun üçün Prometheus-da sorğu yerinə yetirin:

Terminal

container_cpu_usage_seconds_total

Docker konteynerlərindən yığılan məlumatları görməlisiniz.

5.7 Əlavə metriklərin əlavə edilməsi

Konteynerləriniz haqqında daha çox məlumat toplamaq üçün Prometheus konfigurasiya faylına əlavə metriklər əlavə edə bilərsiniz. Əlavə metriklərin nümunəsi:

Yaml

  - job_name: 'node'
    static_configs:
      - targets: ['localhost:9100']

Bunun üçün sistemin host vəziyyəti haqqında metriklər təqdim edən node_exporter quraşdırmaq lazımdır.

node_exporter-i endirin və quraşdırın:

Terminal

wget https://github.com/prometheus/node_exporter/releases/download/v1.2.2/node_exporter-
1.2.2.linux-amd64.tar.gz
tar xvfz node_exporter-*.tar.gz
sudo mv node_exporter-1.2.2.linux-amd64/node_exporter /usr/local/bin/

node_exporter-i başladın:

Terminal

node_exporter &

İndi node_exporter http://localhost:9100 ünvanında əlçatan olacaq.

5.8 Bildiriş qaydalarının yaradılması

Prometheus, administratorları problemlər barədə xəbərdar etmək üçün bildiriş qaydalarının yaradılmasını dəstəkləyir. Bildiriş qaydalarını prometheus.yml konfiqurasiya faylına əlavə edin:

Yaml

rule_files:
  - "alert.rules"
      
alerting:
  alertmanagers:
  - static_configs:
    - targets:
      - "localhost:9093"

alert.rules adlı bir fayl yaradın və qaydaların nümunəsini əlavə edin:

Yaml

groups:
- name: example
  rules:
  - alert: HighCPUUsage
    expr: container_cpu_usage_seconds_total{job="cadvisor"} > 0.85
    for: 1m
    labels:
      severity: warning
    annotations:
      summary: "CPU istifadəsində yüksək göstərici aşkarlandı"
      description: "Konteyner 1 dəqiqədən çoxdur ki, CPU-nun 85%-dən çoxunu istifadə edir."
Şərhlər
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION