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

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

Prometheus & Grafana Моніторинг на Голому Залізі: Посібник

calendar_month Aug 18, 2026 schedule 6 хв. читання visibility 10 переглядів
Prometheus & Grafana Monitoring on Bare Metal: A How-To Guide
info

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

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

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

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

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

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

Передумови

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

  • Два сервери: Один виділений сервер або надійний VPS для стеку Prometheus/Grafana ('сервер моніторингу') та щонайменше один сервер для моніторингу ('сервер, що моніториться').
  • Операційна система: Ubuntu 22.04 LTS або подібний дистрибутив на базі Debian на обох серверах.
  • Доступ по SSH: Користувач root або користувач з sudo привілеями на обох серверах.
  • Брандмауер: UFW увімкнено та налаштовано для дозволу трафіку SSH (порт 22), Prometheus (порт 9090), Grafana (порт 3000) та Node Exporter (порт 9100).

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

Для сервера, що розміщує Prometheus і Grafana, розгляньте ці базові специфікації:

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

Ці специфікації підходять для моніторингу до 10-15 кінцевих точок зі звичайними обсягами метрик. Більші розгортання вимагатимуть більше ресурсів.

Покрокова інсталяція та конфігурація

Крок 1: Оновлення системи та встановлення залежностей (Сервер моніторингу)

Почніть з оновлення списку пакетів вашого сервера моніторингу та встановлення необхідних утиліт.


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

Крок 2: Встановлення сервера Prometheus (Сервер моніторингу)

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

Завантаження та розпакування Prometheus


PROMETHEUS_VERSION="2.48.0" # Перевірте наявність останньої стабільної версії на prometheus.io
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
sudo mv prometheus-${PROMETHEUS_VERSION}.linux-amd64 /usr/local/prometheus

Створення користувача та каталогів Prometheus


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

Налаштування Prometheus

Створіть базовий файл конфігурації Prometheus за адресою /etc/prometheus/prometheus.yml:


sudo nano /etc/prometheus/prometheus.yml

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


global:
  scrape_interval: 15s # Як часто збирати цілі.
  evaluation_interval: 15s # Як часто оцінювати правила.

scrape_configs:
  - job_name: 'prometheus'
    static_configs:
      - targets: ['localhost:9090'] # Prometheus збирає дані з самого себе

Встановлення дозволів та створення служби Systemd


sudo chown -R prometheus:prometheus /etc/prometheus
sudo chown prometheus:prometheus /usr/local/prometheus/prometheus
sudo chown prometheus:prometheus /usr/local/prometheus/promtool
sudo cp /usr/local/prometheus/consoles /usr/local/prometheus/console_libraries /etc/prometheus/
sudo chown -R prometheus:prometheus /etc/prometheus/consoles
sudo chown -R prometheus:prometheus /etc/prometheus/console_libraries

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/prometheus/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.external-url=http://<YOUR_MONITORING_SERVER_IP>:9090

[Install]
WantedBy=multi-user.target

Замініть <YOUR_MONITORING_SERVER_IP> на публічну IP-адресу або доменне ім'я вашого сервера.

Запуск Prometheus та увімкнення брандмауера


sudo systemctl daemon-reload
sudo systemctl start prometheus
sudo systemctl enable prometheus
sudo ufw allow 9090/tcp

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

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

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

Завантаження та розпакування Node Exporter

На вашому *сервері, що моніториться*:


NODE_EXPORTER_VERSION="1.7.0" # Перевірте наявність останньої стабільної версії
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
sudo mv node_exporter-${NODE_EXPORTER_VERSION}.linux-amd64 /usr/local/node_exporter

Створення користувача та служби Node Exporter


sudo useradd --no-create-home --shell /bin/false node_exporter
sudo chown -R node_exporter:node_exporter /usr/local/node_exporter
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/node_exporter/node_exporter

[Install]
WantedBy=multi-user.target

Запуск Node Exporter та увімкнення брандмауера


sudo systemctl daemon-reload
sudo systemctl start node_exporter
sudo systemctl enable node_exporter
sudo ufw allow 9100/tcp

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

Додавання Node Exporter до конфігурації Prometheus (Сервер моніторингу)

Повернувшись на ваш *сервер моніторингу*, відредагуйте /etc/prometheus/prometheus.yml, щоб додати нову ціль:


sudo nano /etc/prometheus/prometheus.yml

Додайте новий запис scrape_configs:


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

  - job_name: 'node_exporter'
    static_configs:
      - targets: ['<YOUR_MONITORED_SERVER_IP>:9100'] # Замініть на фактичну IP-адресу
        labels:
          instance: 'my_first_server'

Перезавантажте Prometheus, щоб застосувати зміни:


sudo systemctl reload prometheus

Перевірте інтерфейс Prometheus (http://<YOUR_MONITORING_SERVER_IP>:9090/targets), щоб переконатися, що Node Exporter відображається та працює коректно.

Крок 4: Встановлення Grafana (Сервер моніторингу)

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

Додавання GPG ключа та репозиторію Grafana


sudo wget -q -O /usr/share/keyrings/grafana.key https://apt.grafana.com/gpg.key
echo "deb [signed-by=/usr/share/keyrings/grafana.key] https://apt.grafana.com stable main" | sudo tee /etc/apt/sources.list.d/grafana.list
sudo apt update

Встановлення Grafana


sudo apt install -y grafana

Запуск Grafana та увімкнення брандмауера


sudo systemctl start grafana-server
sudo systemctl enable grafana-server
sudo ufw allow 3000/tcp

Доступ до Grafana за адресою http://<YOUR_MONITORING_SERVER_IP>:3000. Логін за замовчуванням admin / admin. Вам буде запропоновано змінити пароль.

Додавання Prometheus як джерела даних у Grafana

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

Крок 5: Імпорт інформаційних панелей та створення сповіщень (Сервер моніторингу)

Імпорт інформаційної панелі Node Exporter

Grafana Labs надає багато інформаційних панелей, створених спільнотою. Популярна для Node Exporter має ID 1860.

  1. На лівій бічній панелі натисніть іконку плюса (Створити), потім Імпорт.
  2. Введіть 1860 у поле "Імпорт через grafana.com" та натисніть Завантажити.
  3. Оберіть ваше джерело даних Prometheus та натисніть Імпорт.

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

Базові сповіщення за допомогою Prometheus та Grafana

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

  1. Правила сповіщень Prometheus: Створіть файл, наприклад /etc/prometheus/alert.rules.yml, з правилами (наприклад, високе використання CPU, мало місця на диску).
  2. Конфігурація Prometheus: Оновіть prometheus.yml, щоб включити rule_files: ['/etc/prometheus/alert.rules.yml'].
  3. Alertmanager: Для розширеної маршрутизації сповіщень (електронна пошта, Slack, PagerDuty) встановіть та налаштуйте Prometheus Alertmanager.
  4. Сповіщення Grafana: Ви також можете налаштувати сповіщення безпосередньо на інформаційних панелях Grafana, які можуть запускати сповіщення на основі результатів запитів.
rocket_launch Швидкий вибір

Шукаєте сервер, який просто працює?

Valebyte VPS — NVMe, підтримка 24/7, розгортання за 60 секунд.

Переглянути тарифи VPS arrow_forward

Масштабування вашої системи моніторингу

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

Кількість моніторингових кінцевих точок (Node Exporters) vCPU/Ядра RAM Диск (Тип + ГБ) Місячна пропускна здатність
До 10 2 vCPU 4 ГБ 50 ГБ NVMe 1 ТБ
10 - 50 4 vCPU 8 ГБ 100 ГБ NVMe 2 ТБ
50 - 150 6-8 Ядер 16-32 ГБ 200 ГБ NVMe 5 ТБ
150+ (Висока щільність) 8+ Ядер 32+ ГБ 500+ ГБ NVMe (RAID 1) 10+ ТБ

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

  • Інтерфейс Prometheus недоступний (9090): Перевірте брандмауер (sudo ufw status) та статус служби Prometheus (sudo systemctl status prometheus). Переконайтеся, що --web.external-url правильно встановлено у файлі служби.
  • Node Exporter недоступний (9100): Перевірте брандмауер на сервері, що моніториться, та статус служби Node Exporter.
  • Цілі не працюють у Prometheus: Перевірте мережеве з'єднання між серверами моніторингу та моніторинговими серверами. Переконайтеся, що Node Exporter працює на цілі, а його IP/порт правильні у prometheus.yml.
  • Помилка джерела даних Grafana: Переконайтеся, що Prometheus працює на порту 9090. Перевірте логи сервера Grafana (sudo journalctl -u grafana-server -f) на наявність помилок.
  • Відсутні метрики в Grafana: Переконайтеся, що на вашій інформаційній панелі вибрано правильне джерело даних Prometheus. Перевірте, чи Prometheus дійсно збирає дані з цілі (перевірте інтерфейс Prometheus -> Status -> Targets).
  • Закінчується місце на диску: Prometheus зберігає дані метрик. Налаштуйте політики зберігання у prometheus.yml (наприклад, --storage.tsdb.retention.time=30d) або розгляньте рішення для віддаленого зберігання для довгострокового зберігання.

table_chart Monitoring Server Resource Comparison (Valebyte Offerings)

Option vCPU/Cores RAM Storage Best for
Valebyte VPS (Entry-Level) 2 vCPU 4 GB 80 GB NVMe Small-scale monitoring (up to 10 endpoints, 30-day retention)
Valebyte Dedicated (Standard) 4 Cores 16 GB 240 GB NVMe Medium-to-large scale (up to 150 endpoints, 90-day retention), critical monitoring

check_circle Висновок

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

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

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

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

Share this post:

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

Telegram VKVK WhatsApp Facebook LinkedIn XX

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