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

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

Prometheus і Grafana: Моніторинг Bare Metal. Посібник.

calendar_month Aug 30, 2026 schedule 7 хв. читання visibility 10 переглядів
Prometheus & Grafana Bare Metal Monitoring Tutorial
info

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

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

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

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

Чому Prometheus і Grafana для моніторингу Bare Metal?

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

Незалежно від того, чи розміщуєте ви веб-додаток з високим трафіком, вимогливий ігровий сервер, складний кластер баз даних або конвеєр CI/CD, розуміння характеристик продуктивності вашого сервера є ключем до проактивного обслуговування, усунення несправностей та масштабування. Цей посібник зосереджений на налаштуванні цього стеку на виділеному сервері від Valebyte, забезпечуючи ізоляцію та необроблену потужність, необхідну для серйозного моніторингу.

Передумови

  • Виділений сервер або потужний VPS (для самого стеку моніторингу) під керуванням Ubuntu 22.04 LTS.
  • Root або sudo доступ до сервера.
  • Базове знайомство з командним рядком Linux.
  • Непривілейований користувач для запуску служб Prometheus і Grafana.
  • Фаєрвол, налаштований для дозволу доступу до Prometheus (порт 9090), Grafana (порт 3000) та Node Exporter (порт 9100).

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

Для невеликого або середнього налаштування моніторингу (моніторинг 5-10 серверів) сам сервер моніторингу повинен мати:

  • vCPU: 2 ядра (або 2 vCPU)
  • RAM: 4 ГБ
  • Диск: 50 ГБ NVMe (для даних часових рядів Prometheus)
  • Пропускна здатність: 100 Мбіт/с (для збору метрик та доступу до дашбордів)

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

Покроковий посібник: Налаштування Prometheus і Grafana

Крок 1: Підготуйте свій сервер

Спочатку оновіть системні пакети та встановіть необхідні утиліти:

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

Створіть виділених системних користувачів для Prometheus і Grafana. Це підвищує безпеку, запускаючи служби з мінімальними привілеями.

sudo useradd --no-create-home --shell /bin/false prometheus
sudo useradd --no-create-home --shell /bin/false grafana

Крок 2: Встановіть сервер Prometheus

Завантажте останню стабільну версію Prometheus. Перевірте сторінку завантаження Prometheus для найновішої версії. На момент написання цієї статті актуальною є версія 2.47.0.

PROMETHEUS_VERSION="2.47.0"
wget https://github.com/prometheus/prometheus/releases/download/v${PROMETHEUS_VERSION}/prometheus-${PROMETHEUS_VERSION}.linux-amd64.tar.gz
tar xvfz prometheus-${PROMETHEUS_VERSION}.linux-amd64.tar.gz
cd prometheus-${PROMETHEUS_VERSION}.linux-amd64

Створіть необхідні каталоги та скопіюйте бінарні файли та файли конфігурації:

sudo mkdir -p /etc/prometheus /var/lib/prometheus
sudo cp prometheus promtool /usr/local/bin/
sudo cp consoles/ console_libraries/ /etc/prometheus/
sudo cp prometheus.yml /etc/prometheus/prometheus.yml

Встановіть права власності для безпеки:

sudo chown -R prometheus:prometheus /etc/prometheus /var/lib/prometheus
sudo chown prometheus:prometheus /usr/local/bin/prometheus /usr/local/bin/promtool

Крок 3: Налаштуйте Prometheus

Відредагуйте файл конфігурації Prometheus, щоб визначити цілі збору метрик. Для базового налаштування ми будемо моніторити сам сервер Prometheus за допомогою Node Exporter (який ми встановимо пізніше).

sudo nano /etc/prometheus/prometheus.yml

Замініть існуючий розділ scrape_configs на наступний або додайте нове завдання для локального 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']

  - job_name: 'node_exporter'
    static_configs:
      - targets: ['localhost:9100'] # Target for the local Node Exporter

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

Крок 4: Створіть службу Prometheus Systemd

Створіть файл служби systemd для керування Prometheus:

sudo nano /etc/systemd/system/prometheus.service

Додайте наступний вміст:

[Unit]
Description=Prometheus
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/console_libraries \
    --web.listen-address=":9090"
Restart=always

[Install]
WantedBy=multi-user.target

Перезавантажте systemd, запустіть Prometheus та увімкніть його для запуску під час завантаження:

sudo systemctl daemon-reload
sudo systemctl start prometheus
sudo systemctl enable prometheus
sudo systemctl status prometheus

Перевірте, чи працює Prometheus, перейшовши за адресою http://YOUR_SERVER_IP:9090/ у вашому браузері. Ви повинні побачити інтерфейс Prometheus.

Крок 5: Встановіть Node Exporter на сервери, що моніторяться (і на сервер Prometheus)

Node Exporter збирає метрики на рівні хоста (ЦП, пам'ять, диск, мережа) та надає їх Prometheus. Встановіть його на будь-який сервер, який ви бажаєте моніторити, включаючи сам сервер Prometheus.

Завантажте останню стабільну версію Node Exporter (наприклад, 1.6.1):

NODE_EXPORTER_VERSION="1.6.1"
wget https://github.com/prometheus/node_exporter/releases/download/v${NODE_EXPORTER_VERSION}/node_exporter-${NODE_EXPORTER_VERSION}.linux-amd64.tar.gz
tar xvfz node_exporter-${NODE_EXPORTER_VERSION}.linux-amd64.tar.gz
cd node_exporter-${NODE_EXPORTER_VERSION}.linux-amd64

Скопіюйте бінарний файл та встановіть права власності:

sudo cp node_exporter /usr/local/bin
sudo chown prometheus:prometheus /usr/local/bin/node_exporter

Створіть службу systemd для Node Exporter:

sudo nano /etc/systemd/system/node_exporter.service

Додайте наступний вміст:

[Unit]
Description=Node Exporter
Wants=network-online.target
After=network-online.target

[Service]
User=prometheus
Group=prometheus
Type=simple
ExecStart=/usr/local/bin/node_exporter --web.listen-address=":9100"
Restart=always

[Install]
WantedBy=multi-user.target

Перезавантажте systemd, запустіть Node Exporter та увімкніть його:

sudo systemctl daemon-reload
sudo systemctl start node_exporter
sudo systemctl enable node_exporter
sudo systemctl status node_exporter

Перевірте, чи працює Node Exporter, перейшовши за адресою http://YOUR_SERVER_IP:9100/metrics у вашому браузері. Ви повинні побачити сторінку з необробленими метриками.

Важливо: Якщо ви встановлюєте Node Exporter на інші сервери, не забудьте відкрити порт 9100 у їхніх фаєрволах та додати їхні IP-адреси до файлу /etc/prometheus/prometheus.yml на вашому сервері Prometheus:

  - job_name: 'remote_servers'
    static_configs:
      - targets: ['REMOTE_SERVER_IP_1:9100', 'REMOTE_SERVER_IP_2:9100']

Після зміни prometheus.yml перезапустіть Prometheus: sudo systemctl restart prometheus.

Крок 6: Встановіть Grafana

Додайте GPG ключ та репозиторій Grafana до вашої системи:

sudo wget -q -O - https://apt.grafana.com/gpg.key | sudo gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/grafana.gpg > /dev/null
echo "deb [signed-by=/etc/apt/trusted.gpg.d/grafana.gpg] https://apt.grafana.com stable main" | sudo tee /etc/apt/sources.list.d/grafana.list

Оновіть пакети та встановіть Grafana:

sudo apt update
sudo apt install -y grafana

Запустіть Grafana та увімкніть її для запуску під час завантаження:

sudo systemctl daemon-reload
sudo systemctl start grafana-server
sudo systemctl enable grafana-server
sudo systemctl status grafana-server

Перевірте, чи працює Grafana, перейшовши за адресою http://YOUR_SERVER_IP:3000/ у вашому браузері. Логін за замовчуванням – admin / admin. Вам буде запропоновано змінити пароль при першому вході.

Крок 7: Налаштуйте Grafana з джерелом даних Prometheus і дашбордом

Увійдіть до Grafana (admin/admin).

Додайте Prometheus як джерело даних:

  1. Натисніть піктограму шестерні (Конфігурація) на лівій бічній панелі, потім 'Джерела даних'.
  2. Натисніть 'Додати джерело даних'.
  3. Виберіть 'Prometheus'.
  4. Для 'Ім'я' введіть Prometheus.
  5. Для 'URL' введіть http://localhost:9090.
  6. Прокрутіть вниз і натисніть 'Зберегти та перевірити'. Ви повинні побачити 'Джерело даних працює'.

Імпортуйте дашборд Node Exporter:

  1. Натисніть піктограму '+' (Створити) на лівій бічній панелі, потім 'Імпорт'.
  2. У полі 'Імпорт через grafana.com' введіть 1860 (популярний ID дашборда Node Exporter Full).
  3. Натисніть 'Завантажити'.
  4. На наступному екрані виберіть ваше джерело даних 'Prometheus' зі спадного списку.
  5. Натисніть 'Імпорт'.

Тепер ви повинні побачити комплексний дашборд, що відображає метрики з ваших екземплярів Node Exporter. Ви можете перемикатися між різними цілями Node Exporter, якщо у вас налаштовано кілька.

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

  • Служба не запускається: Перевірте логи systemd за допомогою sudo journalctl -u prometheus.service або sudo journalctl -u grafana-server.service на наявність помилок.
  • Prometheus не збирає метрики з цілей: Перевірте IP-адреси та порти цілей у /etc/prometheus/prometheus.yml. Перевірте сторінку Prometheus 'Status -> Targets' в інтерфейсі користувача на наявність помилок збору метрик. Переконайтеся, що фаєрволи відкриті як на сервері Prometheus (порти 9090, 9100), так і на серверах, що моніторяться (порт 9100).
  • Grafana не підключається до Prometheus: Перевірте URL-адресу джерела даних Prometheus у Grafana. Переконайтеся, що Prometheus працює та доступний із сервера Grafana.
  • Відсутні метрики в Grafana: Переконайтеся, що Node Exporter працює на цільовому сервері, а Prometheus успішно збирає з нього метрики. Перевірте сторінку Prometheus 'Graph', щоб побачити, чи збираються метрики (наприклад, node_cpu_seconds_total).
  • Проблеми з дозволами: Переконайтеся, що користувачі prometheus та grafana володіють своїми відповідними каталогами та бінарними файлами.

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

Масштаб навантаження (Сервери, що моніторяться) vCPU (для навантаження, що моніториться) RAM (для навантаження, що моніториться) Диск (Тип + ГБ) Місячна пропускна здатність (для навантаження, що моніториться)
Малий (1-5 серверів, особисті проекти, легкий веб-хостинг) 4-8 vCPU 8-16 ГБ 240 ГБ NVMe 100 Мбіт/с
Середній (5-15 серверів, кілька мікросервісів, помірні бази даних, ігрові сервери) 8-16 ядер 32-64 ГБ 480 ГБ NVMe (RAID1) 1 Гбіт/с
Великий (15+ серверів, API з високим трафіком, великі кластери БД, CI/CD, стрімінг) 16-32+ ядер 64-128+ ГБ 1 ТБ+ NVMe (RAID10) 10 Гбіт/с

Подальша кастомізація та розширений моніторинг

Після того, як ваше базове налаштування запрацює, ви можете розширити свої можливості моніторингу:

  • Alertmanager: Інтегруйте Alertmanager з Prometheus для надсилання сповіщень (електронна пошта, Slack, PagerDuty), коли перевищуються критичні порогові значення.
  • Експортери для конкретних додатків: Встановіть інші експортери Prometheus для баз даних (наприклад, mysqld_exporter, postgres_exporter), веб-серверів (наприклад, apache_exporter, nginx_exporter) або черг повідомлень.
  • Користувацькі дашборди: Створюйте власні дашборди Grafana, адаптовані до ваших конкретних метрик додатків та бізнес-потреб.
  • Правила запису (Recording Rules): Використовуйте правила запису Prometheus для попередньої агрегації часто запитуваних даних, покращуючи час завантаження дашбордів.
  • Віддалене сховище (Remote Storage): Для довгострокового зберігання або високої доступності розгляньте можливість інтеграції Prometheus з рішеннями для віддаленого сховища.

table_chart Hosting Options for Your Monitoring Stack (Prometheus/Grafana)

Option vCPU / Cores RAM Storage Best for
Powerful VPS 4 vCPU 8 GB 100 GB NVMe Small-medium monitoring loads (up to 10 servers), cost-effective for non-critical monitoring.
Entry-Level Dedicated Server 4 physical cores 16 GB 240 GB NVMe (RAID1) Medium-large monitoring loads (10-25+ servers), critical infrastructure monitoring, maximum performance isolation, and long-term data retention.

check_circle Висновок

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

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

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

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

Share this post:

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

Telegram VKVK WhatsApp Facebook LinkedIn XX

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