پرش به محتوا

مانیتورینگ سرورها با Prometheus و Node Exporter

Prometheus را نصب کنید، معیارهای CPU، حافظه و دیسک چند سرور را جمع‌آوری کنید و یک هشدار ساده برای پر شدن دیسک بنویسید.

Ubuntu 24.04 LTSسطح: متوسطبه‌روزرسانی: ۱۶ آبان ۱۴۰۵

۱. روی هر سروری که پایش می‌شود

bash
sudo apt update
sudo apt install -y prometheus-node-exporter
sudo ufw allow from 192.168.10.5 to any port 9100 proto tcp

192.168.10.5 آدرس سرور Prometheus است؛ پورت 9100 را فقط برای آن باز کنید.

۲. روی سرور Prometheus

bash
sudo apt install -y prometheus
sudo nano /etc/prometheus/prometheus.yml

بخش scrape_configs را این‌طور تنظیم کنید:

yaml
scrape_configs:
  - job_name: prometheus
    static_configs:
      - targets: ['localhost:9090']

  - job_name: servers
    static_configs:
      - targets:
          - 192.168.10.10:9100
          - 192.168.10.20:9100
          - 192.168.10.53:9100

rule_files:
  - /etc/prometheus/rules/*.yml

۳. یک قانون هشدار

bash
sudo mkdir -p /etc/prometheus/rules
sudo nano /etc/prometheus/rules/disk.yml
yaml
groups:
  - name: disk
    rules:
      - alert: DiskAlmostFull
        expr: (node_filesystem_avail_bytes{fstype!~"tmpfs|overlay"} / node_filesystem_size_bytes) < 0.10
        for: 10m
        labels:
          severity: warning
        annotations:
          summary: "کمتر از ۱۰٪ فضای خالی روی {{ $labels.instance }} {{ $labels.mountpoint }}"

۴. بررسی و اعمال

bash
promtool check config /etc/prometheus/prometheus.yml
sudo systemctl restart prometheus

رابط وب Prometheus روی پورت 9090 است. در بخش Status → Targets باید همه‌ی سرورها با وضعیت UP دیده شوند.

برای داشبوردهای گرافیکی، Grafana را کنار Prometheus نصب کنید و داشبورد آماده‌ی «Node Exporter Full» را وارد کنید.