Ключевые преимущества 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 для любых задач.