bolt Valebyte VPS від $4/міс — NVMe, запуск за 60 секунд.

Отримати VPS arrow_forward
eco Початковий Туторіал

Prometheus і Grafana: Посібник з налаштування моніторингу фізичних серверів

calendar_month Sep 06, 2026 schedule 7 хв. читання visibility 14 переглядів
Prometheus & Grafana: Bare Metal Server Monitoring Setup Guide
info

Потрібен сервер для цього гайду? Ми пропонуємо виділені сервери та VPS у 50+ країнах з миттєвим налаштуванням.

Налаштування Prometheus та Grafana для моніторингу bare metal сервера вимагає мінімум 2 vCPU, 4GB RAM та 40GB SSD сховища на вашому сервері моніторингу для базової конфігурації. Цей посібник надає практичний, покроковий посібник для розгортання цих потужних інструментів з відкритим вихідним кодом, щоб отримати глибокі відомості про продуктивність та стан вашого сервера. Дотримуючись цих інструкцій, ви створите комплексне рішення для моніторингу вашої критичної інфраструктури.

Потрібен сервер для цього гайду?

Розгорніть VPS або виділений сервер за хвилини.

Чому Prometheus і Grafana для моніторингу bare metal серверів?

Bare metal сервери пропонують неперевершену продуктивність, контроль та ізоляцію, що робить їх ідеальними для вимогливих робочих навантажень, таких як високотрафіковий веб-хостинг, великі бази даних, ігрові сервери, CI/CD конвеєри та потокові сервіси. Однак ефективне керування цими потужними машинами вимагає надійного моніторингу. Prometheus чудово збирає дані часових рядів, тоді як Grafana надає інтуїтивно зрозумілі інформаційні панелі для візуалізації цих даних. Разом вони утворюють потужну комбінацію для розуміння стану сервера, виявлення вузьких місць та проактивного вирішення проблем.

Цей посібник зосереджений на встановленні стеку моніторингу (Prometheus і Grafana) на виділеному сервері або потужному VPS, який потім буде моніторити інші bare metal сервери за допомогою Node Exporter. Це гарантує, що сама система моніторингу має виділені ресурси і не конкурує з сервісами, що працюють на моніторингових машинах.

Передумови та мінімальні вимоги до сервера

Перш ніж почати, переконайтеся, що у вас є:

  • Виділений сервер або потужний VPS від Valebyte зі свіжою інсталяцією Ubuntu 22.04 LTS (або подібного дистрибутива на базі Debian). Для самого сервера моніторингу ми рекомендуємо щонайменше 4 vCPU, 8 ГБ RAM та 100 ГБ NVMe сховища для використання в продакшені, що дозволить зберігати дані та забезпечить швидкість роботи інформаційних панелей.
  • Root або sudo доступ до сервера моніторингу.
  • Root або sudo доступ до bare metal серверів, які ви бажаєте моніторити.
  • Базове розуміння інтерфейсу командного рядка Linux.
  • Відкриті порти у вашому брандмауері: 9090 для Prometheus, 3000 для Grafana та 9100 для Node Exporter (на моніторингових серверах).

Покроковий посібник зі встановлення

Крок 1: Оновлення системи та встановлення залежностей

Спочатку підключіться до свого сервера моніторингу через SSH та оновіть списки пакетів та встановлені пакети. Встановіть необхідні утиліти:

sudo apt update
sudo apt upgrade -y
sudo apt install -y wget curl gnupg2 software-properties-common apt-transport-https

Крок 2: Встановлення сервера Prometheus

Prometheus зазвичай не знаходиться у стандартних репозиторіях Ubuntu, тому ми завантажимо останню стабільну версію безпосередньо.

  1. Створіть користувача та каталоги Prometheus:
  2. sudo useradd --no-create-home --shell /bin/false prometheus
    sudo mkdir /etc/prometheus
    sudo mkdir /var/lib/prometheus
    sudo chown prometheus:prometheus /var/lib/prometheus
  3. Завантажте та розпакуйте Prometheus: Замініть 2.47.1 на останню стабільну версію, якщо вона відрізняється. Перевірте Завантаження Prometheus.
  4. wget https://github.com/prometheus/prometheus/releases/download/v2.47.1/prometheus-2.47.1.linux-amd64.tar.gz
    tar xvfz prometheus-2.47.1.linux-amd64.tar.gz
    sudo cp prometheus-2.47.1.linux-amd64/prometheus /usr/local/bin/
    sudo cp prometheus-2.47.1.linux-amd64/promtool /usr/local/bin/
    sudo cp -r prometheus-2.47.1.linux-amd64/consoles /etc/prometheus
    sudo cp -r prometheus-2.47.1.linux-amd64/console_libraries /etc/prometheus
    sudo chown prometheus:prometheus /usr/local/bin/prometheus
    sudo chown prometheus:prometheus /usr/local/bin/promtool
    sudo chown -R prometheus:prometheus /etc/prometheus/consoles
    sudo chown -R prometheus:prometheus /etc/prometheus/console_libraries
    rm -rf prometheus-2.47.1.linux-amd64.tar.gz prometheus-2.47.1.linux-amd64
  5. Створіть файл конфігурації Prometheus (/etc/prometheus/prometheus.yml):
  6. sudo nano /etc/prometheus/prometheus.yml

    Вставте наступний вміст. Ця конфігурація включає базову ціль збору даних (scrape target) для самого Prometheus та заповнювач для цілей Node Exporter.

    global:
      scrape_interval: 15s # How frequently to scrape targets
      evaluation_interval: 15s # How frequently to evaluate rules
    
    scrape_configs:
      - job_name: 'prometheus'
        static_configs:
          - targets: ['localhost:9090']
    
      # Add your bare metal servers here after installing Node Exporter
      # - job_name: 'node_exporter'
      #   static_configs:
      #     - targets: ['your_server_ip_1:9100', 'your_server_ip_2:9100']

    Збережіть та вийдіть (Ctrl+X, Y, Enter).

  7. Встановіть власника для конфігурації:
  8. sudo chown prometheus:prometheus /etc/prometheus/prometheus.yml
  9. Створіть файл служби systemd для Prometheus (/etc/systemd/system/prometheus.service):
  10. sudo nano /etc/systemd/system/prometheus.service

    Вставте наступне:

    [Unit]
    Description=Prometheus Monitoring System
    Wants=network-online.target
    After=network-online.target
    
    [Service]
    User=prometheus
    Group=prometheus
    Type=simple
    ExecStart=/usr/local/bin/prometheus \
        --config.file /etc/prometheus/prometheus.yml \
        --storage.tsdb.path /var/lib/prometheus \
        --web.console.templates=/etc/prometheus/consoles \
        --web.console.libraries=/etc/prometheus/consoles \
        --web.enable-lifecycle
    
    [Install]
    WantedBy=multi-user.target

    Збережіть та вийдіть.

  11. Перезавантажте systemd, запустіть та увімкніть Prometheus:
  12. sudo systemctl daemon-reload
    sudo systemctl start prometheus
    sudo systemctl enable prometheus
  13. Перевірте статус Prometheus:
  14. sudo systemctl status prometheus

    Ви повинні побачити active (running). Доступ до інтерфейсу Prometheus у вашому браузері за адресою http://YOUR_MONITORING_SERVER_IP:9090.

Крок 3: Встановлення Node Exporter на моніторингові bare metal сервери

Node Exporter — це агент, який збирає системні метрики (CPU, RAM, дисковий ввід/вивід, мережа) та надає їх для збору Prometheus. Встановіть його на кожен bare metal сервер, який ви хочете моніторити.

  1. Створіть користувача та каталоги Node Exporter:
  2. sudo useradd --no-create-home --shell /bin/false node_exporter
  3. Завантажте та розпакуйте Node Exporter: Замініть 1.6.1 на останню стабільну версію, якщо вона відрізняється. Перевірте Завантаження Node Exporter.
  4. wget https://github.com/prometheus/node_exporter/releases/download/v1.6.1/node_exporter-1.6.1.linux-amd64.tar.gz
    tar xvfz node_exporter-1.6.1.linux-amd64.tar.gz
    sudo cp node_exporter-1.6.1.linux-amd64/node_exporter /usr/local/bin/
    sudo chown node_exporter:node_exporter /usr/local/bin/node_exporter
    rm -rf node_exporter-1.6.1.linux-amd64.tar.gz node_exporter-1.6.1.linux-amd64
  5. Створіть файл служби systemd для Node Exporter (/etc/systemd/system/node_exporter.service):
  6. sudo nano /etc/systemd/system/node_exporter.service

    Вставте наступне:

    [Unit]
    Description=Node Exporter
    Wants=network-online.target
    After=network-online.target
    
    [Service]
    User=node_exporter
    Group=node_exporter
    Type=simple
    ExecStart=/usr/local/bin/node_exporter
    
    [Install]
    WantedBy=multi-user.target

    Збережіть та вийдіть.

  7. Перезавантажте systemd, запустіть та увімкніть Node Exporter:
  8. sudo systemctl daemon-reload
    sudo systemctl start node_exporter
    sudo systemctl enable node_exporter
  9. Перевірте статус Node Exporter:
  10. sudo systemctl status node_exporter

    Ви повинні побачити active (running). Доступ до метрик Node Exporter у вашому браузері за адресою http://YOUR_MONITORED_SERVER_IP:9100/metrics.

Крок 4: Налаштування Prometheus для збору даних з цілей Node Exporter

Тепер поверніться до свого сервера моніторингу. Відредагуйте конфігурацію Prometheus, щоб додати ваші bare metal сервери.

  1. Відредагуйте конфігурацію Prometheus:
  2. sudo nano /etc/prometheus/prometheus.yml
  3. Додайте нові записи job_name для ваших bare metal серверів: Замініть your_server_ip_1, your_server_ip_2 на фактичні IP-адреси ваших моніторингових серверів.
  4. # ... existing configuration ...
    
    scrape_configs:
      - job_name: 'prometheus'
        static_configs:
          - targets: ['localhost:9090']
    
      - job_name: 'node_exporter'
        static_configs:
          - targets: ['192.168.1.10:9100', '192.168.1.11:9100', 'your_next_server_ip:9100']
        # Optionally, add labels for better organization
        # labels:
        #   environment: production
        #   location: datacenter_a

    Збережіть та вийдіть.

  5. Перевірте конфігурацію Prometheus на наявність синтаксичних помилок:
  6. /usr/local/bin/promtool check config /etc/prometheus/prometheus.yml

    Він повинен вивести SUCCESS!. Якщо ні, виправте всі повідомлені помилки.

  7. Перезавантажте Prometheus, щоб застосувати зміни:
  8. sudo systemctl reload prometheus
  9. Перевірте цілі в інтерфейсі Prometheus: Перейдіть до http://YOUR_MONITORING_SERVER_IP:9090/targets. Ви повинні побачити ваші цілі Node Exporter, перелічені зі статусом 'UP'.

Крок 5: Встановлення Grafana

Grafana надає рівень візуалізації для ваших даних Prometheus.

  1. Додайте ключ GPG Grafana:
  2. sudo wget -q -O /usr/share/keyrings/grafana.key https://apt.grafana.com/gpg.key
  3. Додайте репозиторій Grafana:
  4. echo "deb [signed-by=/usr/share/keyrings/grafana.key] https://apt.grafana.com stable main" | sudo tee /etc/apt/sources.list.d/grafana.list
  5. Оновіть кеш apt та встановіть Grafana:
  6. sudo apt update
    sudo apt install -y grafana
  7. Запустіть та увімкніть службу Grafana:
  8. sudo systemctl daemon-reload
    sudo systemctl start grafana-server
    sudo systemctl enable grafana-server
  9. Перевірте статус Grafana:
  10. sudo systemctl status grafana-server

    Ви повинні побачити active (running). Доступ до інтерфейсу Grafana у вашому браузері за адресою http://YOUR_MONITORING_SERVER_IP:3000. Логін за замовчуванням admin / admin. Вам буде запропоновано змінити пароль при першому вході.

Крок 6: Налаштування джерела даних та інформаційної панелі Grafana

Тепер підключіть Grafana до Prometheus та імпортуйте корисну інформаційну панель.

  1. Додайте Prometheus як джерело даних:
    • Увійдіть до Grafana (admin/admin).
    • Натисніть піктограму шестерні (Configuration) на лівій бічній панелі, потім 'Data sources'.
    • Натисніть 'Add data source'.
    • Виберіть 'Prometheus'.
    • Для 'Name' введіть Prometheus.
    • Для 'URL' введіть http://localhost:9090.
    • Прокрутіть вниз і натисніть 'Save & test'. Ви повинні побачити 'Data source is working'.
  2. Імпортуйте інформаційну панель Node Exporter:
    • Натисніть піктограму '+' (Create) на лівій бічній панелі, потім 'Import'.
    • У полі 'Import via grafana.com' введіть 1860 (популярний ID інформаційної панелі Node Exporter Full).
    • Натисніть 'Load'.
    • На наступному екрані виберіть своє джерело даних 'Prometheus' зі спадного списку.
    • Натисніть 'Import'.

    Тепер ви повинні побачити комплексну інформаційну панель, що візуалізує метрики з усіх ваших моніторингових bare metal серверів.

Варіанти використання моніторингу bare metal серверів

За допомогою Prometheus та Grafana ви можете моніторити широкий спектр робочих навантажень bare metal:

  • Веб-хостинг: Відстежуйте запити Nginx/Apache на секунду, час відгуку, одночасні з'єднання та використання ресурсів для забезпечення оптимальної продуктивності веб-сайту.
  • Бази даних (наприклад, PostgreSQL, MySQL): Моніторте затримку запитів, активні з'єднання, коефіцієнти попадання в буфер, дисковий ввід/вивід та статус реплікації для підтримки здоров'я бази даних.
  • Ігрові сервери: Слідкуйте за завантаженням CPU, затримкою мережі, кількістю гравців та використанням пам'яті, щоб забезпечити плавний ігровий досвід.
  • Потокові сервіси: Спостерігайте за використанням пропускної здатності, одночасними потоками та завантаженням сервера для забезпечення безперебійної доставки контенту.
  • CI/CD конвеєри: Моніторте ресурси агентів збірки, дисковий простір та мережеву активність під час процесів безперервної інтеграції та розгортання.
  • Самостійно розміщені програми: Відстежуйте споживання ресурсів власних програм, поштових серверів (наприклад, Postfix, Dovecot) або VPN-сервісів (наприклад, OpenVPN, WireGuard) для забезпечення їх стабільності.
Швидкий вибір
Потрібен виділений сервер?
Bare metal з NVMe у 70+ локаціях — налаштування й замовлення за кілька хвилин.
До серверів

Вирішення поширених проблем

  • Prometheus/Grafana/Node Exporter не запускається: Перевірте sudo systemctl status <service_name> та sudo journalctl -xeu <service_name> на наявність повідомлень про помилки.
  • Prometheus не збирає дані з цілей: Перевірте IP-адреси цілей та номери портів у prometheus.yml. Переконайтеся, що брандмауери (наприклад, UFW) як на сервері моніторингу, так і на моніторингових серверах дозволяють трафік на порти 9090 (Prometheus), 3000 (Grafana) та 9100 (Node Exporter). Перевірте http://YOUR_MONITORING_SERVER_IP:9090/targets в інтерфейсі Prometheus на наявність помилок збору даних.
  • Grafana не відображає дані: Переконайтеся, що джерело даних Prometheus налаштовано правильно, і 'Save & test' показує успіх. Переконайтеся, що імпортована вами інформаційна панель сумісна з метриками Node Exporter.
  • Проблеми з дозволами: Двічі перевірте власність файлів та каталогів (chown) та дозволи (chmod) для бінарних файлів Prometheus та Node Exporter та файлів конфігурації.

Правильна серверна інфраструктура має вирішальне значення для ефективного моніторингу. Нижче наведено загальні рекомендації щодо апаратного забезпечення для вашого сервера моніторингу, засновані на масштабі вашого bare metal середовища.

Кількість моніторингових серверів (з Node Exporter) vCPU / Ядра RAM Диск (Тип + ГБ) Місячна пропускна здатність
До 10 серверів 4 vCPU 8 ГБ 100 ГБ NVMe 1 ТБ
10 - 50 серверів 8 ядер 16-32 ГБ 250 ГБ NVMe 2 ТБ
50 - 150 серверів 12-16 ядер 32-64 ГБ 500 ГБ NVMe (або більший HDD для довгострокового зберігання) 5 ТБ
150+ серверів (з високою кардинальністю метрик) 16-24 ядер 64-128 ГБ 1 ТБ+ NVMe (або кластерне рішення для зберігання) 10 ТБ+

table_chart Valebyte Server Options for Hosting the Monitoring Stack

Option vCPU / Cores RAM Storage Best for
Valebyte VPS (e.g., 4C/8GB) 4 vCPU 8 GB 100 GB NVMe Small to medium bare metal environments (up to 50 servers) or development setups.
Valebyte Dedicated Server (e.g., 8C/32GB) 8 Cores 32 GB 500 GB NVMe Large bare metal environments (50+ servers), high-cardinality metrics, or critical production monitoring.

check_circle Висновок

Дотримуючись цього посібника, ви успішно розгорнули надійний стек моніторингу Prometheus і Grafana на своєму виділеному сервері, здатний збирати та візуалізувати критичні метрики з вашої bare metal інфраструктури. Ця установка забезпечує основу для проактивного обслуговування, оптимізації продуктивності та забезпечення високої доступності ваших послуг. Для надійних виділених серверів або високопродуктивних VPS-опцій для розміщення вашого стеку моніторингу або ваших критичних bare metal навантажень, ознайомтеся з пропозиціями Valebyte.

help Часті запитання

Чи був цей гайд корисним?

Ваш відгук допомагає нам покращувати гайди.

Share this post:

Надішліть гайд тому, кому він може стати в пригоді.

Telegram VKVK WhatsApp Facebook LinkedIn XX

Prometheus Grafana моніторинг фізичних серверів налаштування моніторингу серверів Prometheus Node Exporter дашборди Grafana моніторинг виділеного сервера моніторинг самохостингу моніторинг Ubuntu сервера посібник Prometheus інструкція зі встановлення Grafana моніторинг серверної інфраструктури
support_agent
Valebyte Support
Usually replies within minutes
Hi there!
Send us a message and we'll reply as soon as possible.