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.