Установка и настройка Prometheus на Ubuntu — полное руководство

    Команда Simple-Server
    03.05.2026
    16 мин

    Введение

    Prometheus — это набор инструментов с открытым исходным кодом, написанный на языке Go и представляющий собой полноценную систему мониторинга и оповещения.

    Изначально продукт был создан SoundCloud, однако сейчас поддерживается сообществом разработчиков независимо от какой-либо компании.

    Из чего состоит Prometheus

    • Главный сервер
    • Библиотеки для управления кодом приложения
    • Система выполнения заданий
    • Менеджер оповещений
    • Экспортеры данных для внешних инструментов (HAProxy, StatsD, Graphite)

    Все компоненты обеспечивают три ключевые операции:

    1. Сбор — опрос внешних служб и получение метрик
    2. Обработка — выполнение правил для анализа данных
    3. Вывод — сохранение результатов в базу для последующей визуализации

    В этом руководстве мы установим Prometheus, настроим правила обработки данных и подключим Grafana для визуализации.

    1. Загрузка, распаковка и установка Prometheus

    Для развертывания системы мониторинга удобно использовать VPS или выделенный сервер Simple-Server, с которого Prometheus будет опрашивать ваши приложения и собирать метрики.

    В этом примере используется Ubuntu 22.04 на VPS с 2 vCPU и 4 ГБ RAM.

    Загрузка архива

    Prometheus распространяется в виде одного исполняемого файла на Go. Скачать его можно со страницы релизов на GitHub или с официального сайта.

    Используем wget:

    sudo wget https://github.com/prometheus/prometheus/releases/download/v2.45.3/prometheus-2.45.3.linux-amd64.tar.gz

    Распаковка архива

    sudo tar -xzf prometheus*.tar.gz sudo rm prometheus*.tar.gz

    В получившейся директории prometheus* находятся:

    • prometheus — исполняемый файл сервера
    • promtool — утилита для проверки конфигов
    • consoles и console_libraries — папки с шаблонами
    • prometheus.yml — главный конфигурационный файл

    Перейдём в распакованный каталог:

    cd prometheus*/

    Создание отдельного пользователя

    Для безопасности создадим системного пользователя с ограниченными правами:

    sudo groupadd --system prometheus sudo useradd -s /sbin/nologin --system -g prometheus prometheus

    Копирование файлов

    Перемещаем исполняемые файлы:

    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 mkdir /etc/prometheus sudo mkdir /var/lib/prometheus sudo mv consoles /etc/prometheus sudo mv console_libraries /etc/prometheus sudo mv prometheus.yml /etc/prometheus

    Назначаем права:

    sudo chown prometheus:prometheus /etc/prometheus sudo chown -R prometheus:prometheus /etc/prometheus/consoles sudo chown -R prometheus:prometheus /etc/prometheus/console_libraries sudo chown -R prometheus:prometheus /var/lib/prometheus

    2. Конфигурация Prometheus

    Главный файл — prometheus.yml. В нём задаются объекты мониторинга, периодичность сбора, правила обработки и хранения данных.

    Принцип работы

    Prometheus решает две задачи:

    • HTTP-запросы к целям (targets) для получения свежих данных
    • Обработка собранных данных по описанным правилам (rules)

    Конфигурационный файл

    Откроем конфиг:

    sudo nano /etc/prometheus/prometheus.yml

    И запишем минимальный пример с одной целью — самим сервером Prometheus:

    global: scrape_interval: 15s evaluation_interval: 15s rule_files: # - "first.rules" # - "second.rules" scrape_configs: - job_name: prometheus ```bash static_configs: - targets: ['localhost:9090'] Проверить корректность конфига можно через `promtool`: ```bash promtool check config /etc/prometheus/prometheus.yml

    Основные блоки:

    • global — глобальные настройки (scrape_interval, evaluation_interval)
    • rule_files — список файлов с правилами оценки данных
    • scrape_configs — описание целей мониторинга, разбитых по заданиям (jobs)

    Prometheus умеет отдавать метрики о самом себе, поэтому мы добавили его как первую цель.

    3. Служба Prometheus в systemd

    Чтобы Prometheus запускался автоматически и перезапускался при сбоях, создадим systemd-юнит:

    sudo nano /etc/systemd/system/prometheus.service

    Содержимое:

    [Unit] Description=Background service of Prometheus 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 [Install] WantedBy=multi-user.target

    Применяем:

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

    Если всё хорошо, в выводе будет Active: active (running).

    4. Веб-интерфейс Prometheus

    Веб-интерфейс доступен по адресу:

    http://IP-адрес-сервера:9090

    Не забудьте открыть порт в брандмауэре:

    sudo ufw allow 9090/tcp

    5. Установка Grafana

    Стандартный интерфейс Prometheus подходит только для базовой проверки. Для удобной визуализации используют Grafana — open source платформу с гибкими дашбордами.

    Установка из официального репозитория:

    sudo apt install -y apt-transport-https software-properties-common wget sudo mkdir -p /etc/apt/keyrings/ wget -q -O - https://apt.grafana.com/gpg.key | gpg --dearmor | sudo tee /etc/apt/keyrings/grafana.gpg > /dev/null echo "deb [signed-by=/etc/apt/keyrings/grafana.gpg] https://apt.grafana.com stable main" | sudo tee /etc/apt/sources.list.d/grafana.list sudo apt update sudo apt install -y grafana

    Запускаем и добавляем в автозагрузку:

    sudo systemctl start grafana-server sudo systemctl enable grafana-server sudo systemctl status grafana-server

    Если с российского IP репозиторий недоступен, используйте зеркало или скачайте .deb пакет вручную с официального сайта Grafana.

    6. Интеграция Grafana с Prometheus

    Подключение к Prometheus

    Grafana работает на порту 3000:

    http://IP-адрес-сервера:3000

    Логин/пароль по умолчанию — admin / admin (смените при первом входе).

    Далее:

    1. Откройте Connections → Data Sources
    2. Нажмите Add Data Source
    3. Выберите Prometheus
    4. Укажите URL: http://localhost:9090
    5. Нажмите Save and Test

    Импорт дашборда через ID

    1. Откройте Dashboards → New → Import dashboard
    2. Введите ID дашборда — например, 3662 (стандартная доска Prometheus 2.0)
    3. Нажмите Load
    4. Дайте имя, выберите источник данных Prometheus и нажмите Import

    Импорт дашборда через JSON

    Если ID не загружается, скачайте JSON дашборда с сайта Grafana, вставьте содержимое в поле импорта и нажмите Load.

    7. Настройка экспортеров

    Экспортеры — модули, которые собирают метрики из внешних служб (MySQL, Nginx, Apache и др.) и отдают их Prometheus.

    Установка Node Exporter

    Node Exporter собирает базовые метрики о состоянии сервера. Установка через APT:

    sudo apt install prometheus-node-exporter

    Либо вручную из релизов GitHub:

    sudo tar -xvf node_exporter*amd64.tar.gz sudo cp node_exporter-*amd64/node_exporter /usr/local/bin

    Служба для Node Exporter

    Если устанавливали из архива, создаём systemd-юнит:

    sudo systemctl edit --full --force node_exporter.service

    Содержимое:

    [Unit] Description=Service of Node Exporter Wants=network-online.target After=network-online.target [Service] User=prometheus Type=simple ExecStart=/usr/local/bin/node_exporter [Install] WantedBy=multi-user.target

    Запускаем:

    sudo systemctl daemon-reload sudo systemctl start node_exporter

    Проверить можно по адресу http://IP-адрес-сервера:9100/metrics.

    Подключение Prometheus к Node Exporter

    Откройте конфиг:

    sudo nano /etc/prometheus/prometheus.yml

    Добавьте новое задание в scrape_configs:

    global: scrape_interval: 15s evaluation_interval: 15s scrape_configs: - job_name: prometheus ```bash static_configs: - targets: ['localhost:9090'] ```bash - job_name: 'prometheus_node_exporter' ```bash scrape_interval: 5s static_configs: - targets: ['localhost:9100'] Перезапустите сервис: ```bash sudo systemctl restart prometheus

    Дашборд для Node Exporter

    В Grafana импортируйте дашборд с ID 1860 — это популярная доска Node Exporter Full с подробной визуализацией CPU, RAM, диска и сети.

    Заключение

    Развертывание мониторинга на Prometheus включает несколько этапов:

    1. Загрузка и установка Prometheus с GitHub
    2. Создание базового конфигурационного файла
    3. Настройка systemd-сервиса для автозапуска
    4. Установка Grafana и подключение Prometheus как источника данных
    5. Импорт готовых дашбордов
    6. Подключение экспортеров (Node Exporter и др.)

    Размещайте Prometheus и Grafana на надёжных VPS Simple-Server с NVMe-дисками — это обеспечит стабильную работу системы мониторинга 24/7 с круглосуточной техподдержкой.

    VPS для Prometheus и Grafana

    Стабильные VPS с NVMe для системы мониторинга Prometheus + Grafana.

    StarterVDS

    490

    в месяц

    1 ядро

    1 ГБ RAM

    20 ГБ NVMe

    • 1 IPv4
    • KVM
    • Root-доступ
    • Безлимитный трафик
    Заказать VPS
    Рекомендуем

    PerformanceVDS

    1190

    в месяц

    2 ядра

    4 ГБ RAM

    60 ГБ NVMe

    • 1 IPv4
    • KVM
    • Root-доступ
    • Базовая DDoS-защита
    Заказать VPS

    Нужна другая конфигурация или чистый VPS без панели?

    Все тарифы VPS

    Похожие статьи, которые могут быть вам интересны