Prometheus – це потужний набір інструментів для моніторингу та оповіщення з відкритим вихідним кодом, що забезпечує надійність і масштабованість. Він широко використовується в хмарних нативних середовищах для моніторингу систем, додатків і сервісів. Fedora 41 з її передовими функціями і сучасним програмним стеком являє собою відмінну платформу для розміщення Prometheus. У цьому посібнику ми розповімо вам про покроковий процес встановлення та налаштування Prometheus на Fedora 41.
Попередні умови
Перш ніж ми приступимо до процесу встановлення, переконайтеся, що ваша система відповідає таким попереднім умовам:
- Сервер під управлінням Fedora 41
- Користувач із привілеями sudo
- Не менше 2 ГБ оперативної пам’яті та 10 ГБ вільного дискового простору.
Крім того, важливо переконатися, що ваша система оновлена. Виконайте наступну команду, щоб оновити всі пакети:
sudo dnf update -y
Потім встановіть деякі необхідні інструменти, які будуть використовуватися в процесі встановлення:
sudo dnf install curl wget nano -y
Покрокове встановлення Prometheus на Fedora 41
Завантаження Prometheus
Першим кроком у встановленні Prometheus є завантаження останньої версії з офіційного репозиторію. Це можна зробити за допомогою команди wget:
wget https://github.com/prometheus/prometheus/releases/download/v3.0.0/prometheus-3.0.0.linux-amd64.tar.gz
Після завершення завантаження розпакуйте tarball:
tar -xvf prometheus-3.0.0.linux-amd64.tar.gz
Налаштування каталогів Prometheus
Тепер, коли ми витягли файли, давайте створимо необхідні директорії для Prometheus:
sudo mkdir /etc/prometheus /var/lib/prometheus
Потім перемістіть двійкові файли в каталог PATH вашої системи:
sudo mv prometheus-3.0.0.linux-amd64/prometheus /usr/local/bin/
sudo mv prometheus-3.0.0.linux-amd64/promtool /usr/local/bin/
Створення виділеного користувача для Prometheus
З метою безпеки рекомендується запускати Prometheus під виділеним користувачем з обмеженими привілеями. Створіть нового користувача під ім’ям «prometheus» без права входу в систему:
sudo useradd --no-create-home --shell /bin/false prometheus
Тепер встановіть права власності на необхідні каталоги для цього користувача:
sudo chown -R prometheus:prometheus /etc/prometheus /var/lib/prometheus
sudo chown prometheus:prometheus /usr/local/bin/prometheus /usr/local/bin/promtool
Конфігурування Prometheus
Створення файлу конфігурації
Основний файл конфігурації Prometheus називається prometheus.yml. Давайте створимо його в каталозі /etc/prometheus/:
sudo nano /etc/prometheus/prometheus.yml
Додайте таку базову конфігурацію для моніторингу локальної машини:
global:
scrape_interval: 15s
scrape_configs:
- job_name: 'prometheus'
static_configs:
- targets: ['localhost:9090']
Це налаштування наказує Prometheus отримувати метрики від самого себе кожні 15 секунд.
Налаштування служби Systemd для Prometheus
Щоб Prometheus автоматично запускався під час завантаження і ним можна було легко керувати, ми створимо файл служби systemd.
sudo nano /etc/systemd/system/prometheus.service
Додайте наступний вміст, щоб визначити, як systemd має керувати Prometheus:
[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/
[Install]
WantedBy=multi-user.target
Увімкнення та запуск служби Prometheus
Тепер, коли ми створили файл служби, давайте перезавантажимо systemd, щоб застосувати зміни:
sudo systemctl daemon-reload
Тепер ви можете увімкнути та запустити службу Prometheus за допомогою цих команд:
sudo systemctl enable prometheus --now
sudo systemctl start prometheus
Доступ до веб-інтерфейсу Prometheus
Якщо все було налаштовано правильно, Prometheus тепер повинен працювати на порту 9090. Ви можете перевірити його стан, виконавши команду:
sudo systemctl status prometheus
Якщо він активний (запущений), відкрийте веб-браузер і перейдіть за адресою:
http://localhost:9090/graph
Відкриється веб-інтерфейс Prometheus, у якому ви можете запитувати метрики і візуалізувати дані.
Встановлення Node Exporter для системних показників (необов’язково)
Якщо ви хочете відстежувати апаратні показники вашого сервера, як-от використання процесора, споживання пам’яті та дискове введення-виведення, ви можете встановити Node Exporter разом із Prometheus.
Завантаження Node Exporter
Ви можете завантажити Node Exporter з його офіційної сторінки релізів на GitHub за допомогою цієї команди:
wget https://github.com/prometheus/node_exporter/releases/download/v1.8.2/node_exporter-1.8.2.linux-amd64.tar.gz
Витягніть його за допомогою:
tar xvf node_exporter-1.8.2.linux-amd64.tar.gz
Створення користувача Node Exporter і налаштування як служби
Створіть спеціального користувача для Node Exporter:
sudo useradd --no-create-home --shell /bin/false node_exporter
Створіть файл служби systemd для Node Exporter:
sudo nano /etc/systemd/system/node_exporter.service
[Unit]
Description=Node Exporter
[Service]
User=node_exporter
ExecStart=/usr/local/bin/node_exporter
[Install]
WantedBy=multi-user.target
Перезавантажте systemd і запустіть Node Exporter:
sudo systemctl daemon-reload
sudo systemctl enable node_exporter --now
sudo systemctl start node_exporter
Усунення загальних проблем
- Служба Prometheus не запускається: Перевірте журнали за допомогою `journalctl -u prometheus.service`. Переконайтеся, що всі шляхи у файлі служби правильні.
- Ви не можете отримати доступ до веб-інтерфейсу через порт 9090: Переконайтеся, що ваш брандмауер дозволяє трафік на порт 9090, виконавши команду “sudo firewall-cmd –add-port=9090/tcp –permanent`.
- Метрики не відбираються:: Переконайтеся, що ваші цілі правильно налаштовані у файлі `prometheus.yml`.
- Повідомлення про помилки в журналах, пов’язані з правами доступу:: Переконайтеся, що всі необхідні файли і каталоги належать користувачеві «prometheus».
- На сервері швидко закінчується дисковий простір: Розгляньте можливість налаштування політик зберігання або збільшення обсягу пам’яті.
- Веб-інтерфейс працює повільно або не реагує на запити: Перевірте використання ресурсів (CPU/RAM) або розгляньте можливість масштабування шляхом запуску декількох екземплярів Prometheus.
- Помилка «адреса прив’язки вже використовується» під час запуску Node Exporter або Prometheus: Переконайтеся, що ці порти не використовуються іншими службами.
- Проблеми з доступом до метрик Node Exporter з Prometheus: Переконайтеся, що порт Node Exporter (9100) відкритий у налаштуваннях брандмауера.
Вітаємо! Ви успішно встановили Prometheus. Для отримання додаткової допомоги або корисної інформації ми рекомендуємо вам відвідати офіційний сайт Prometheus.