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:
wget https://github.com/prometheus/prometheus/releases/download/v2.30.3/prometheus-
2.30.3.linux-amd64.tar.gz
Arxivi açın:
tar xvfz prometheus-*.tar.gz
cd prometheus-*
Binar faylları /usr/local/bin
kataloquna keçirin:
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:
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:
prometheus
— Prometheus-un özündən metriklərin toplanması üçün.-
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:
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:
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:
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:
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:
- 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:
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:
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:
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:
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."
GO TO FULL VERSION