empty static

Мониторинг инфраструктуры с Prometheus: пошаговая установка на VPS

Prometheus — это мощная система мониторинга и оповещения с открытым исходным кодом

Ключевые преимущества Prometheus:

  • Многомерная модель данных: Каждая метрика в Prometheus идентифицируется уникальным именем и набором меток (key-value пар), что позволяет детально классифицировать и фильтровать данные.
  • Гибкий язык запросов (PromQL): Позволяет выполнять сложные запросы и агрегировать данные для получения глубокого понимания состояния системы.
  • Эффективное хранение временных рядов: Prometheus хранит данные локально на диске в оптимизированном формате, обеспечивая быструю запись и чтение.
  • Автономность: Каждый сервер Prometheus работает независимо, не полагаясь на распределенное хранилище, что повышает надежность системы.
  • Гибкая система оповещений: Интеграция с Alertmanager позволяет настраивать сложные правила оповещений и маршрутизацию уведомлений.
  • Широкие возможности интеграции: Поддержка множества экспортеров и интеграция с такими инструментами, как Grafana, для визуализации данных.

Функциональные возможности Prometheus:

  • Сбор метрик по pull-модели: Prometheus опрашивает целевые конечные точки (экспортеры) по HTTP, собирая метрики в заданные интервалы времени.
  • Автоматическое обнаружение сервисов: Поддержка сервис-дискавери для динамического определения целевых конечных точек в изменяющихся средах.
  • Поддержка различных типов метрик: Счетчики, гейджи, гистограммы и суммарные значения для разнообразных сценариев мониторинга.
  • Масштабируемость: Возможность горизонтального масштабирования с помощью федерации и шардирования.
  • Интеграция с облачными провайдерами: Поддержка экспортеров для сбора метрик из облачных сервисов, таких как AWS, GCP и Azure.

Инструкции по установке Prometheus на различные операционные системы:

Примечание: Инструкции актуальны на апрель 2025 года и предназначены для установки Prometheus на виртуальных серверах, предоставляемых хостингом pro100vps.ru.

Установка на AlmaLinux 9:

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

Шаг 1: Обновление системы:

bash
копировать
sudo dnf update -y

Шаг 2: Создание пользователя и директорий для Prometheus:

bash
копировать
sudo useradd --no-create-home --shell /bin/false prometheus sudo mkdir /etc/prometheus /var/lib/prometheus sudo chown prometheus: /etc/prometheus /var/lib/prometheus

Шаг 3: Загрузка и установка Prometheus:

bash
копировать
cd /tmp curl -LO https://github.com/prometheus/prometheus/releases/download/v3.2.1/prometheus-3.2.1.linux-amd64.tar.gz tar xvf prometheus-3.2.1.linux-amd64.tar.gz cd prometheus-3.2.1.linux-amd64 sudo cp prometheus promtool /usr/local/bin/ sudo cp -r consoles console_libraries /etc/prometheus/ sudo cp prometheus.yml /etc/prometheus/ sudo chown -R prometheus: /etc/prometheus /var/lib/prometheus

Шаг 4: Создание systemd-сервиса для Prometheus:

Создайте файл /etc/systemd/system/prometheus.service со следующим содержимым:

ini
копировать
[Unit] Description=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

Шаг 5: Запуск и добавление в автозагрузку:

bash
копировать
sudo systemctl daemon-reload sudo systemctl start prometheus sudo systemctl enable prometheus

Установка на Ubuntu 22.04:

Установка осуществляется аналогично AlmaLinux, с использованием официальных бинарных файлов.

Шаг 1: Обновление системы:

bash
копировать
sudo apt update && sudo apt upgrade -y

Шаг 2: Создание пользователя и директорий для Prometheus:

bash
копировать
sudo useradd --no-create-home --shell /bin/false prometheus sudo mkdir /etc/prometheus /var/lib/prometheus sudo chown prometheus: /etc/prometheus /var/lib/prometheus

Шаг 3: Загрузка и установка Prometheus:

bash
копировать
cd /tmp wget https://github.com/prometheus/prometheus/releases/download/v3.2.1/prometheus-3.2.1.linux-amd64.tar.gz tar xvf prometheus-3.2.1.linux-amd64.tar.gz cd prometheus-3.2.1.linux-amd64 sudo cp prometheus promtool /usr/local/bin/ sudo cp -r consoles console_libraries /etc/prometheus/ sudo cp prometheus.yml /etc/prometheus/ sudo chown -R prometheus: /etc/prometheus /var/lib/prometheus

Шаг 4: Создание systemd-сервиса для Prometheus:

Создайте файл /etc/systemd/system/prometheus.service:

ini
копировать
[Unit] Description=Prometheus Monitoring 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

Шаг 5: Запуск и автозагрузка сервиса:

bash
копировать
sudo systemctl daemon-reload sudo systemctl start prometheus sudo systemctl enable prometheus

Prometheus теперь доступен по адресу: http://<IP_вашего_сервера>:9090


Установка на Arch Linux:

Для Arch Linux Prometheus доступен напрямую из официального репозитория, что делает установку проще.

Шаг 1: Обновление системы:

bash
копировать
sudo pacman -Syu

Шаг 2: Установка Prometheus:

bash
копировать
sudo pacman -S prometheus

Шаг 3: Настройка и запуск:

Файл конфигурации по умолчанию находится в /etc/prometheus/prometheus.yml. При необходимости отредактируйте его.

Шаг 4: Запуск и добавление в автозагрузку:

bash
копировать
sudo systemctl enable --now prometheus

Prometheus будет слушать на порту 9090. Доступ: http://<IP_сервера>:9090


Где запустить Prometheus?

Prometheus отлично работает на VPS с Linux. Рекомендуем воспользоваться бесплатным тест-драйвом от pro100vps, чтобы опробовать Prometheus в деле. Ознакомьтесь с тарифами, а также предложением VPS для любых задач.