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

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

Моніторинг Bare Metal: Посібник з налаштування Prometheus і Grafana

calendar_month Jul 19, 2026 schedule 11 хв. читання visibility 42 переглядів
info

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

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

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

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

Чому моніторинг виділеного сервера є критично важливим

Виділені сервери від Valebyte пропонують неперевершену продуктивність, безпеку та можливості налаштування. На відміну від спільних або віртуалізованих середовищ, кожен ресурс — процесор, оперативна пам'ять, сховище та пропускна здатність мережі — належить виключно вам. Однак цей повний контроль супроводжується відповідальністю за всебічний нагляд. Ефективний моніторинг дозволяє вам:

  • Запобігати простоям: Проактивно виявляти та усувати проблеми, перш ніж вони вплинуть на ваші сервіси.
  • Оптимізувати продуктивність: Виявляти вузькі місця ресурсів та точно налаштовувати ваші програми та конфігурації сервера.
  • Забезпечувати безпеку: Виявляти незвичайну активність або стрибки ресурсів, які можуть свідчити про порушення безпеки.
  • Планувати зростання: Розуміти тенденції використання ресурсів для прийняття обґрунтованих рішень щодо масштабування вашої інфраструктури.
  • Підтримувати SLA щодо безперебійної роботи: Гарантувати надійність та доступність, які очікують ваші клієнти або користувачі.

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

Розуміння Prometheus та Grafana

Prometheus: Потужна система метрик

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

  • Багатовимірна модель даних: Дані часових рядів, ідентифіковані за назвою метрики та парами ключ/значення.
  • Гнучка мова запитів (PromQL): Дозволяє виконувати потужні спеціальні запити та агрегацію даних часових рядів.
  • Модель витягування (Pull Model): Prometheus витягує метрики з інструментованих завдань, а не отримує їх.
  • Виявлення сервісів (Service Discovery): Інтегрується з різними системами для автоматичного виявлення цілей.
  • Сповіщення (Alerting): Надсилає сповіщення через Alertmanager.

Grafana: Майстер візуалізації

Grafana — це веб-додаток з відкритим вихідним кодом для аналітики та інтерактивної візуалізації. Він підключається до різних джерел даних (включаючи Prometheus) і дозволяє створювати, досліджувати та ділитися дашбордами та сповіщеннями. За допомогою Grafana ви можете:

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

Передумови та вимоги до сервера

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

  • Виділений сервер Valebyte: Цей посібник передбачає, що ви працюєте з bare-metal сервером, на якому встановлено свіжу інсталяцію Ubuntu 20.04+ або Debian 11+. Кроки значною мірою схожі для CentOS/RHEL, з незначними коригуваннями для керування пакетами (yum/dnf замість apt).
  • Доступ Root або Sudo: Вам знадобляться адміністративні привілеї для встановлення програмного забезпечення та налаштування сервісів.
  • Базове знайомство з командним рядком Linux: Впевнене переміщення по каталогах, редагування файлів та виконання команд.
  • Відкриті порти: Переконайтеся, що наступні порти відкриті у вашому серверному брандмауері (наприклад, UFW або iptables), щоб дозволити зовнішній доступ (за бажанням) та внутрішній зв'язок:
    • 9090 (Prometheus): Для веб-інтерфейсу Prometheus та збору метрик з цілей.
    • 9100 (Node Exporter): Для Node Exporter, щоб надавати метрики хоста.
    • 3000 (Grafana): Для веб-інтерфейсу Grafana.

Приклад конфігурації брандмауера (UFW на Ubuntu/Debian):


sudo ufw allow 9090/tcp
sudo ufw allow 9100/tcp
sudo ufw allow 3000/tcp
sudo ufw enable
sudo ufw status
rocket_launch Швидкий вибір

Потрібен виділений сервер?

Compare prices from top providers. Configure and order in minutes.

Виділені сервери arrow_forward

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

Крок 1: Підготуйте ваш Bare Metal Server

Спочатку оновіть список пакетів вашої системи та оновіть усі наявні пакети. Це гарантує, що ви працюєте з останніми виправленнями безпеки та версіями програмного забезпечення.


sudo apt update
sudo apt upgrade -y

Встановіть необхідні утиліти:


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

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

Ми встановимо Prometheus з його офіційних бінарних файлів. Рекомендується створити окремого користувача для Prometheus з міркувань безпеки.

2.1 Створіть користувача 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

2.2 Завантажте та розпакуйте бінарні файли Prometheus

Відвідайте сторінку завантаження Prometheus, щоб отримати останню стабільну версію. Замініть номер версії нижче на поточний.


cd /tmp
wget https://github.com/prometheus/prometheus/releases/download/v2.47.0/prometheus-2.47.0.linux-amd64.tar.gz
tar xvf prometheus-2.47.0.linux-amd64.tar.gz
cd prometheus-2.47.0.linux-amd64

2.3 Перемістіть бінарні файли та встановіть дозволи


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

2.4 Налаштуйте Prometheus

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


sudo nano /etc/prometheus/prometheus.yml

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


global:
  scrape_interval: 15s # How frequently to scrape targets

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

Встановіть відповідні дозволи для файлу конфігурації:


sudo chown prometheus:prometheus /etc/prometheus/prometheus.yml

2.5 Створіть службу Systemd для Prometheus

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


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/console_libraries \
    --web.listen-address=0.0.0.0:9090
ExecReload=/bin/kill -HUP $MAINPID

[Install]
WantedBy=multi-user.target

2.6 Запустіть та увімкніть Prometheus


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

2.7 Перевірте статус Prometheus

Перевірте, чи працює Prometheus:


sudo systemctl status prometheus

Ви повинні побачити статус 'active (running)'. Ви також можете отримати доступ до веб-інтерфейсу Prometheus, перейшовши за адресою http://YOUR_SERVER_IP:9090 у вашому браузері. Перейдіть на сторінку 'Status' -> 'Targets', щоб підтвердити, що Prometheus збирає метрики з самого себе.

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

Node Exporter збирає метрики рівня хоста (процесор, пам'ять, дискові операції вводу/виводу, мережеві операції вводу/виводу тощо) та надає їх у форматі, який Prometheus може збирати.

3.1 Створіть користувача Node Exporter та каталоги


sudo useradd --no-create-home --shell /bin/false node_exporter

3.2 Завантажте та розпакуйте бінарні файли Node Exporter

Перевірте сторінку завантаження Prometheus для отримання останньої версії Node Exporter.


cd /tmp
wget https://github.com/prometheus/node_exporter/releases/download/v1.6.1/node_exporter-1.6.1.linux-amd64.tar.gz
tar xvf node_exporter-1.6.1.linux-amd64.tar.gz
cd node_exporter-1.6.1.linux-amd64

3.3 Перемістіть бінарні файли та встановіть дозволи


sudo mv node_exporter /usr/local/bin/
sudo chown node_exporter:node_exporter /usr/local/bin/node_exporter

3.4 Створіть службу 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=node_exporter
Group=node_exporter
Type=simple
ExecStart=/usr/local/bin/node_exporter \
    --web.listen-address=0.0.0.0:9100

[Install]
WantedBy=multi-user.target

3.5 Запустіть та увімкніть Node Exporter


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

3.6 Перевірте статус Node Exporter


sudo systemctl status node_exporter

Ви повинні побачити статус 'active (running)'. Ви також можете перевірити, відвідавши http://YOUR_SERVER_IP:9100/metrics у вашому браузері, де ви повинні побачити довгий список метрик.

3.7 Додайте Node Exporter до конфігурації Prometheus

Тепер вкажіть Prometheus збирати метрики з Node Exporter. Відредагуйте /etc/prometheus/prometheus.yml:


sudo nano /etc/prometheus/prometheus.yml

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


global:
  scrape_interval: 15s

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

  - job_name: 'node_exporter'
    static_configs:
      - targets: ['localhost:9100']

Збережіть та вийдіть. Потім перезавантажте Prometheus, щоб застосувати нову конфігурацію:


sudo systemctl reload prometheus

Перейдіть до веб-інтерфейсу Prometheus (http://YOUR_SERVER_IP:9090) та перевірте 'Status' -> 'Targets'. Тепер ви повинні побачити, що цілі 'prometheus' та 'node_exporter' відображаються як 'UP'.

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

Ми встановимо Grafana, використовуючи її офіційний репозиторій APT для легких оновлень.

4.1 Додайте репозиторій Grafana APT


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

4.2 Встановіть Grafana


sudo apt install -y grafana

4.3 Запустіть та увімкніть Grafana


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

4.4 Перевірте статус Grafana


sudo systemctl status grafana-server

Ви повинні побачити статус 'active (running)'.

4.5 Доступ до веб-інтерфейсу Grafana

Відкрийте ваш веб-браузер і перейдіть за адресою http://YOUR_SERVER_IP:3000. Стандартні облікові дані для входу:

  • Ім'я користувача: admin
  • Пароль: admin

Вам буде запропоновано змінити стандартний пароль при першому вході. Зробіть це негайно з міркувань безпеки.

Крок 5: Налаштуйте Grafana з Prometheus

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

  1. Увійдіть до Grafana.
  2. У лівому меню наведіть курсор на іконку шестерні (Configuration) і натисніть 'Data sources'.
  3. Натисніть 'Add data source'.
  4. Виберіть 'Prometheus' зі списку.
  5. Налаштуйте джерело даних:

    • Ім'я: Prometheus (або будь-яка описова назва)
    • URL: http://localhost:9090 (оскільки Grafana знаходиться на тому ж сервері, що й Prometheus)
    • Доступ: Server (default)
  6. Натисніть 'Save & test'. Ви повинні побачити повідомлення, що підтверджує 'Data source is working'.

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

Сила Grafana полягає в її дашбордах. Чудовий спосіб почати — імпортувати попередньо створений дашборд із сайту спільноти Grafana.

  1. Перейдіть до лівого меню Grafana, наведіть курсор на іконку '+' (Create) і натисніть 'Import'.
  2. У полі 'Import via grafana.com' введіть 1860 (це популярний ID дашборда Node Exporter Full).
  3. Натисніть 'Load'.
  4. На наступному екрані:

    • Ім'я: Node Exporter Full (або схоже)
    • Папка: Виберіть папку або залиште як 'General'.
    • Prometheus: Виберіть джерело даних Prometheus, яке ви щойно створили.
  5. Натисніть 'Import'.

Тепер ви повинні побачити комплексний дашборд, що відображає процесор, пам'ять, дискові операції вводу/виводу, використання мережі та багато іншого вашого bare metal сервера, все зібране Node Exporter та візуалізоване Grafana. Досліджуйте панелі, змінюйте часові діапазони та відчуйте продуктивність вашого сервера.

Практичні поради для користувачів виділених серверів

Окрім базового налаштування, ось як максимізувати ваш моніторинг на виділених серверах Valebyte:

  • Налаштовуйте дашборди: Хоча попередньо створені дашборди чудові, адаптуйте їх до ваших конкретних програм та сервісів, що працюють на вашому виділеному сервері. Зосередьтеся на метриках, найбільш критичних для вашого робочого навантаження (наприклад, час запитів до бази даних, частота запитів веб-сервера, частота тіків ігрового сервера).
  • Налаштовуйте сповіщення: Налаштуйте сповіщення в Grafana (або Prometheus з Alertmanager) для критичних порогових значень. Приклади включають високе використання процесора, низький обсяг дискового простору, надмірне споживання пам'яті або насичення мережі. Інтегруйте сповіщення з каналами зв'язку, такими як електронна пошта, Slack або PagerDuty.
  • Моніторинг програм: Встановіть спеціальні експортери Prometheus для програм, що працюють на вашому сервері. Приклади включають:
    • Nginx/Apache Exporter: Для метрик веб-сервера.
    • MySQL/PostgreSQL Exporter: Для продуктивності бази даних.
    • Redis Exporter: Для метрик кешувального сервера.
    • Користувацькі експортери програм: Якщо ваша програма надає метрики у форматі Prometheus.
  • Найкращі практики безпеки:
    • Підтримуйте Prometheus та Grafana в актуальному стані.
    • Обмежте доступ до інтерфейсів Prometheus та Grafana за допомогою брандмауера. Розгляньте можливість розміщення їх за зворотним проксі (наприклад, Nginx) з базовою автентифікацією або клієнтськими сертифікатами для зовнішнього доступу.
    • Негайно змініть стандартні паролі Grafana.
  • Управління дисковим простором: Prometheus зберігає дані метрик на диску. Моніторте /var/lib/prometheus та налаштуйте політики зберігання в prometheus.yml (--storage.tsdb.retention.time або --storage.tsdb.retention.size), щоб запобігти споживанню всього доступного сховища на вашому виділеному сервері.

Реальні сценарії використання моніторингу виділених серверів

Дані, отримані від вашого налаштування Prometheus + Grafana, є безцінними для різних програм на виділених серверах:

  • Ігрові сервери: Моніторте використання процесора, оперативної пам'яті, затримку мережі та втрату пакетів, щоб забезпечити плавний ігровий процес. Виявляйте DDoS-атаки або споживачів ресурсів у реальному часі.
  • Високонавантажений веб-хостинг: Відстежуйте час відповіді веб-сервера, частоту помилок, одночасні з'єднання та споживання ресурсів (процесор, пам'ять, дискові операції вводу/виводу) для підтримки оптимальної продуктивності та доступності веб-сайту.
  • Сервери баз даних: Слідкуйте за продуктивністю запитів, кількістю з'єднань, дисковими операціями вводу/виводу, коефіцієнтами попадання в кеш та статусом реплікації, щоб запобігти уповільненням та розбіжностям даних.
  • Поштові сервери: Моніторте розміри черг, вхідний/вихідний трафік, частоту виявлення спаму та використання ресурсів для забезпечення надійної доставки електронної пошти та запобігання потраплянню в чорний список.
  • Стрімінгові платформи: Спостерігайте за використанням пропускної здатності, кількістю одночасних глядачів, навантаженням на сервер та продуктивністю транскодування, щоб гарантувати безперебійний стрімінг.
  • Конвеєри CI/CD: Відстежуйте час збірки, споживання ресурсів під час збірок, час виконання тестів та показники успішності розгортання для оптимізації робочих процесів розробки та інфраструктури.
  • Обробка великих даних: Моніторте використання ресурсів для кластерів Hadoop, Spark або інших великих даних, щоб забезпечити ефективне виконання завдань та розподіл ресурсів.
rocket_launch Швидкий вибір

Потрібен виділений сервер?

Compare prices from top providers. Configure and order in minutes.

Виділені сервери arrow_forward

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

1. Служба не запускається (Prometheus/Node Exporter/Grafana)

Симптом: systemctl status <service_name> показує 'failed' або 'inactive'.

Рішення:

  • Перевірте журнали: Використовуйте journalctl -u <service_name> -f для перегляду журналів помилок у реальному часі.
  • Помилки конфігурації: Для Prometheus запустіть promtool check config /etc/prometheus/prometheus.yml. Для Grafana перевірте /etc/grafana/grafana.ini на наявність синтаксичних помилок.
  • Дозволи: Переконайтеся, що користувач (prometheus, node_exporter, grafana) має дозволи на читання/запис до своїх відповідних каталогів (наприклад, /var/lib/prometheus, /etc/prometheus).
  • Конфлікти портів: Переконайтеся, що жодна інша служба вже не прослуховує необхідні порти (9090, 9100, 3000). Використовуйте sudo netstat -tulpn | grep <port>.

2. Метрики не відображаються в Prometheus

Симптом: 'Status' -> 'Targets' у веб-інтерфейсі Prometheus показує ціль як 'DOWN' або 'N/A'.

Рішення:

  • Брандмауер: Переконайтеся, що брандмауер на сервері Prometheus та на цільовому сервері (якщо вони різні) дозволяє трафік на порт експортера (наприклад, 9100 для Node Exporter).
  • Експортер працює: Перевірте, чи працює служба експортера (наприклад, node_exporter) на цільовому сервері.
  • Конфігурація Prometheus: Двічі перевірте /etc/prometheus/prometheus.yml на наявність правильних IP-адрес/імен хостів та номерів портів. Переконайтеся у правильному відступі (YAML чутливий до цього).
  • Доступність: З сервера Prometheus спробуйте виконати curl http://<target_ip>:<exporter_port>/metrics. Ви повинні побачити вивід метрик.

3. Дашборд Grafana не відображає дані

Симптом: Панелі дашборда показують 'No Data' або помилки.

Рішення:

  • Джерело даних Prometheus: У Grafana перейдіть до 'Configuration' -> 'Data sources' і переконайтеся, що ваше джерело даних Prometheus налаштовано правильно, а 'Save & test' пройшло успішно.
  • Prometheus функціонує: Перевірте, чи сам Prometheus працює та успішно збирає метрики з цілей (перевірте його веб-інтерфейс за адресою http://YOUR_SERVER_IP:9090).
  • Синтаксис запиту: Якщо ви створюєте власні панелі, переконайтеся, що ваші запити PromQL правильні. Спочатку використовуйте вкладку 'Graph' веб-інтерфейсу Prometheus для тестування запитів.
  • Часовий діапазон: Переконайтеся, що часовий діапазон, вибраний у Grafana (у верхньому правому куті), охоплює період, за який ви очікуєте дані.

4. Високе використання диска Prometheus

Симптом: Каталог /var/lib/prometheus стає дуже великим.

Рішення:

  • Налаштуйте політику зберігання: Відредагуйте ваш файл prometheus.service. Додайте --storage.tsdb.retention.time=<duration> (наприклад, 30d для 30 днів) або --storage.tsdb.retention.size=<size> (наприклад, 100GB) до рядка ExecStart. Перезавантажте та перезапустіть Prometheus.
  • Зменшіть інтервал збору метрик: Для менш критичних метрик збільшіть scrape_interval у prometheus.yml.
  • Фільтруйте метрики: Використовуйте relabel_configs у prometheus.yml, щоб відкидати небажані метрики перед їхнім надходженням, зменшуючи потреби в сховищі.

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

check_circle Висновок

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

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

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

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

Share this post:

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

Telegram VKVK WhatsApp Facebook LinkedIn XX

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