Prometheus nedir?
Niyə Monitorinq və ya Prometheus
Əməliyyat sistemi, proqramlar (mongodb, redis, java və s.) və hazırlanmış proqramlar onlardan gözlənilən funksiyaları yerinə yetirmək üçün prosessor, harddisk, ram, şəbəkə kimi müxtəlif resurslardan istifadə edir.
Problemlər və ya kifayət qədər resursların olmaması səbəbindən sistemlərin işi pozula bilər. Monitorinq proqramları resursları müntəzəm olaraq yoxlayır və sistemlərin düzgün işləməsi üçün tələb olunan resurslara nəzarət edilməsini təmin edir. Prometey bu prosesi həyata keçirən vasitələrdən biridir.
O, xəbərdarlıq sistemindən və ya Prometheus-da xəbərdarlıqdan istifadə edərək resursların tutumu və statusu əsasında xəbərdarlıqlar göndərməyə imkan verir. Nəzarət metodları kimi itələmə və çəkmə üsullarından istifadə olunur. Digər sistemlərdən fərqli olaraq, Prometheus defolt olaraq pull-pull metodundan istifadə edir. Push metodunda monitorinq ediləcək resurslar onlardan gözlənilən funksiyaya əlavə olaraq monitorinq məlumatlarının göndərilməsi (push-sending) məsuliyyətini də yerinə yetirir. Pull-pull metodunda resurslar monitorinq məlumatlarını ünvan vasitəsilə əlçatan edir, tətbiqin (prometey və s.) məlumatları qəbul etməsinə şərait yaradır. Prometheus-dakı pushgateway sayəsində o, həm də təkan əsaslı monitorinqi təmin edir.
Prometheus alətini digər alətlərdən fərqləndirən cəhət onun təkan-çəkmə əsaslı olması, sadə struktura malik olması, bulud əsaslı proqramlarda tez-tez istifadə olunması və Cloud Native tərəfindən dəstəklənməsidir.
Prometey necə işləyir?
Prometey resurslara nəzarət etmək üçün exporter (node-exporter, redis-exporter və s.) adlı vasitələrdən istifadə edir.
exporter monitorinq ediləcək mənbənin məlumatlarını Prometheus sisteminin başa düşdüyü formata çevirir və HTTP protokolu (/metrics) vasitəsilə təqdim edir.
O, Prometheus parametrlərinə əlavə edilmiş exporter ünvanlarına müəyyən aralıqlarla HTTP sorğuları etməklə məlumatları Time Series verilənlər bazasında qeyd edir. Qeydə alınmış monitorinq məlumatları PromQL istifadə edərək Prometheus Web GUI və Grafana kimi alətlər vasitəsilə izlənilir.
Prometheus daxilində Alert Manager kimi alətlərdən istifadə edərək, məlumat müəyyən bir şərtə cavab verərsə, xəbərdarlıq bildirişi göndərilir.
Prometey quraşdırılması
Əməliyyat sistemindən asılı olaraq quraşdırma faylları aşağıdakı ünvandan endirilir.
https://prometheus.io
1. Server tələbi:
- Linux serveri (Ubuntu və ya başqa bir distro istifadə edilə bilər)
- Root və ya sudo icazəsi olan istifadəçi
2. Prometheus-un quraşdırılması üçün addımları (Ubuntu):
1: Sistem paketlərini yeniləyin
sudo apt update
2: Prometheus-u yükləmək üçün
Prometheus-un ən son versiyasını yükləmək üçün rəsmi saytına gedib yükləmə linkini əldə edə bilərsiniz, ya da aşağıdakı komanda vasitəsilə birbaşa terminaldan yükləyə bilərsiniz.
wget https://github.com/prometheus/prometheus/releases/download/v2.47.0/prometheus-2.47.0.linux-amd64.tar.gz
Qeyd: v2.47.0
mövcud versiyadır, daha yeni bir versiya mövcud ola bilər, rəsmi Prometheus GitHub səhifəsindən yoxlaya bilərsiniz.
3: Yüklənmiş faylı açmaq üçün
Tar.gz faylını açın:
tar -xvzf prometheus-2.47.0.linux-amd64.tar.gz
4: Prometheus fayllarını adiyyəti folderə yerləşdirin
Açılmış faylları /usr/local/bin/
folderinə köçürün:
cd prometheus-2.47.0.linux-amd64
sudo mv prometheus /usr/local/bin/
sudo mv promtool /usr/local/bin/
5: config folderini yaratmaq üçün
Prometheus konfiqurasiya fayllarını saxlamaq üçün qovluq yaradın:
sudo mkdir /etc/prometheus
sudo mv prometheus.yml /etc/prometheus/
6: Sistem servis faylı (systemd service) yaratmaq
Prometheus-u sistem servisinə əlavə etmək üçün yeni bir prometheus.service
faylı yaradın:
sudo nano /etc/systemd/system/prometheus.service
Aşağıdakı konfiqurasiyanı fayla əlavə edin:
[Unit]
Description=Prometheus Monitoring
Wants=network-online.target
After=network-online.target
[Service]
User=root
ExecStart=/usr/local/bin/prometheus –config.file=/etc/prometheus/prometheus.yml \
–storage.tsdb.path=/var/lib/prometheus/ \
–web.console.templates=/usr/local/bin/consoles \
–web.console.libraries=/usr/local/bin/console_libraries
[Install]
WantedBy=multi-user.target
7: Sistemdə servisini aktiv edilməsi üçün
Systemd servisini yeniləyin və Prometheus xidmətini aktiv edin:
sudo systemctl daemon-reload
sudo systemctl enable prometheus
sudo systemctl start prometheus
8: Prometheus-u yoxlamaq
Prometheus-un uğurla işə düşdüyünə baxmaq üçün onun statusunu yoxlaya bilərsiniz:
Prometheus interfeysini yoxlamaq üçün:
Prometheus artıq işləyirsə, veb interfeys vasitəsilə ona daxil ola bilərsiniz:
- Veb brauzerinizdə server İP adresini yazıb
http://<server_IP>:9090
ünvanına daxil olun.
Burada Prometheus metrikləri və sistem sorğuları ilə işləyə bilərsiniz.
Əlavə qeyd:
- Prometheus.yml konfiqurasiya faylı çox vacibdir. Burada hansı servislərin monitorinqə qoşulacağını və hansı metriklərin toplanacağını təyin edə bilərsiniz.
- Əgər Prometheus-un quraşdırıldığı server firewall tərəfindən qorunursa,
9090
portunu açmaq lazım ola bilər.
sudo ufw allow 9090/tcp