Посібник з налаштування Prometheus та node_exporter
15 хв читання - 29 травня 2026 р.

Встановіть Prometheus та node_exporter, налаштуйте цілі вилучення, налаштуйте системні служби та захистіть стек моніторингу. Покрокова інструкція для Linux.
Налаштування моніторингу серверів Prometheus та node_exporter
Prometheus збирає та зберігає часові ряди метрик. node_exporter надає Prometheus дані системного рівня, такі як використання процесора, пам'яті та дискового простору, для збору. Цей посібник охоплює встановлення обох, налаштування цілей збору даних, запуск node_exporter як служби systemd та обмеження доступу.
Встановлення node_exporter
Завантажте останню стабільну версію з офіційної сторінки релізів GitHub. Станом на травень 2026 року це версія 1.11.1. Замініть amd64 на arm64 за необхідності.
wget https://github.com/prometheus/node_exporter/releases/download/v1.11.1/node_exporter-1.11.1.linux-amd64.tar.gz
Перевірте контрольну суму SHA256, порівнявши її зі значенням на сторінці випусків, а потім розпакуйте та встановіть:
tar -xzvf node_exporter-1.11.1.linux-amd64.tar.gz
sudo mv node_exporter-1.11.1.linux-amd64/node_exporter /usr/local/bin/
Створіть спеціального системного користувача без домашнього каталогу та оболонки входу:
sudo useradd --no-create-home --shell /bin/false node_exporter
sudo chown node_exporter:node_exporter /usr/local/bin/node_exporter
Перевірте це, запустивши /usr/local/bin/node_exporter безпосередньо, а потім перевірте вихідні дані:
curl http://localhost:9100/metrics
Ви повинні побачити рядки, що починаються з node_, включаючи такі показники, як node_cpu_seconds_total та node_memory_MemAvailable_bytes. За замовчуванням node_exporter надає близько 500 часових рядів.
Запуск node_exporter як служби systemd
Запуск node_exporter з терміналу підходить для тестування, але він зупиняється, коли ви закриваєте сесію. Створіть файл модуля за адресою /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
Restart=on-failure
RestartSec=5
ExecStart=/usr/local/bin/node_exporter
[Install]
WantedBy=multi-user.target
Увімкніть та запустіть службу:
sudo systemctl daemon-reload
sudo systemctl enable node_exporter
sudo systemctl start node_exporter
Переконайтеся, що вона працює, за допомогою sudo systemctl status node_exporter. У виведенні має з’явитися active (running).
Якщо Prometheus працює на тому ж хості, прив’яжіть node_exporter лише до localhost, змінивши рядок ExecStart :
ExecStart=/usr/local/bin/node_exporter --web.listen-address="127.0.0.1:9100"
Налаштування Prometheus для збору даних з node_exporter
Відкрийте /etc/prometheus/prometheus.yml та додайте завдання в розділі scrape_configs:
scrape_configs:
- job_name: 'node_exporter'
scrape_interval: 15s
static_configs:
- targets: ['localhost:9100']
labels:
env: 'production'
The job_name ідентифікує джерело в запитах та на інформаційних панелях. targets вказує на хост і порт, на якому працює node_exporter. Мітки, такі як env допоможуть вам фільтрувати метрики пізніше.
Перевірте конфігурацію перед перезапуском:
promtool check config /etc/prometheus/prometheus.yml
Якщо перевірка пройшла успішно, перезавантажте Prometheus без простою:
sudo systemctl reload prometheus
Відкрийте http://<your-prometheus-ip>:9090, перейдіть до Status > Targets і переконайтеся, що завдання node_exporter має зелений статус UP. Виконайте швидкий запит, наприклад node_cpu_seconds_total у браузері виразів, щоб переконатися, що дані надходять.
Захист вашого стеку моніторингу
Ніколи не відкривайте порти 9090 або 9100 для публічного доступу в Інтернеті. У Ubuntu/Debian обмежте доступ node_exporter до IP-адреси вашого сервера Prometheus:
sudo ufw allow from <prometheus-ip> to any port 9100
У CentOS/RHEL з firewalld:
firewall-cmd --permanent --add-port=9100/tcp
Веб-інтерфейс Prometheus слід розмістити за зворотним проксі-сервером, таким як Nginx, з базовою автентифікацією та TLS. Мережевий VPN, такий як Tailscale, є ще одним варіантом, якщо вам потрібен доступ з декількох місць без прямого відкриття портів.
Кращі практики моніторингу та наступні кроки
Використовуйте node_memory_MemAvailable_bytes замість MemFree для сповіщень про пам'ять. MemAvailable враховує буфери та кеш, надаючи більш точне уявлення про те, що насправді є вільним.
Вимкніть колектори, які вам не потрібні (wifi, nfs, bcache), за допомогою прапорця --no-collector.<name> прапорцем, щоб зменшити шум.
Для сповіщень про дисковий простір функція predict_linear функція PromQL дозволяє прогнозувати, коли том заповниться, на основі поточних тенденцій. Встановлення 7-денного вікна прогнозування дозволяє виявити повільні витоки, перш ніж вони перетворяться на перебої в роботі.
Щоб моніторити кілька серверів, встановіть node_exporter на кожній машині та додайте їхні IP-адреси до списку targets список у prometheus.yml. Для більших середовищ перейдіть на виявлення служб на основі файлів замість жорсткого кодування IP-адрес.
Додавання Grafana надає вам візуальні інформаційні панелі. Інформаційна панель Node Exporter Full (ID 1860) — хороший початок. Alertmanager перенаправляє критичні сповіщення у Slack, на електронну пошту або в PagerDuty.
Виділені сервери та плани VPS від FDC підтримують Prometheus та node_exporter «з коробки». Дивіться варіанти виділених серверів від FDC.
Усунення несправностей
| Проблема | Ймовірна причина | Команда для перевірки |
|---|---|---|
| Служба не запускається | Неправильний шлях до бінарного файлу або права доступу | journalctl -u node_exporter -xe |
| Неможливо отримати доступ до метрик | Брандмауер блокує порт 9100 або неправильна адреса прив'язки | ss -lntp | grep 9100 |
| Ціль у Prometheus не працює | Проблема з мережею або неправильна IP-адреса цільового сервера у файлі prometheus.yml | curl -I http://<target-ip>:9100/metrics |
| Відсутні певні метрики | Колектор вимкнено за замовчуванням | node_exporter --help |

Посібник з налаштування Prometheus та node_exporter
Встановіть Prometheus та node_exporter, налаштуйте цілі вилучення, налаштуйте системні служби та захистіть стек моніторингу. Покрокова інструкція для Linux.
15 хв читання - 29 травня 2026 р.
XDP та eBPF для обробки пакетів у Linux
14 хв читання - 27 травня 2026 р.

Маєте запитання або потребуєте індивідуального рішення?
Гнучкі варіанти
Глобальне охоплення
Миттєве розгортання
Гнучкі варіанти
Глобальне охоплення
Миттєве розгортання