Перейти к содержанию

Обзор развертывания Prometheus на сервере

Предварительные требования

Для корректной работы приложения требуются следующие условия:

  • Операционная система: Ubuntu.

  • Установленный Docker и среда выполнения контейнеров.

  • Доступ к портам:

  • 9090 (внутренний порт для взаимодействия с сервисом).

  • 443 (внешний порт для доступа через HTTPS).

FDQN итоговой панели на домене hostkey.in

Для доступа к приложению используется следующий шаблон доменного имени:

Параметр Значение
Префикс prometheus
Домен hostkey.in
Полный шаблон prometheus{Server_ID_from_Invapi}.hostkey.in

Структура файлов и каталогов

В системе используются следующие пути для хранения данных и конфигураций:

  • /srv/prometheus — основная директория данных Prometheus.

  • /srv/prometheus/config — директория с конфигурационными файлами.

  • /root/nginx — рабочая директория прокси-сервера Nginx.

  • /data/nginx/user_conf.d — директория пользовательских конфигураций Nginx.

Процесс установки приложения

Процесс развертывания включает в себя несколько этапов:

  1. Подготовка системного окружения: установка Docker и создание необходимых директорий для хранения данных Prometheus (/srv/prometheus и /srv/prometheus/config).

  2. Настройка прав доступа: установка владельца (UID 65534) и группы (GID 65534) на директории с данными, а также установка прав 0775.

  3. Создание конфигурации: генерация файла prometheus.yml с базовыми настройками интервала сбора метрик (15s).

  4. Развертывание контейнера Prometheus: запуск сервиса с использованием Docker.

  5. Настройка проксирования: развертывание контейнера Nginx для обеспечения доступа через HTTPS и перенаправление трафика на локальный порт 9090.

Контейнеры Docker и их запуск

В системе работают следующие контейнеры:

Prometheus

  • Имя образа: prom/prometheus:v3.0.0

  • Порты: 9090:9090

  • Тома (volumes):

  • /srv/prometheus/config/prometheus.yml:/etc/prometheus/prometheus.yml

  • /srv/prometheus:/prometheus

  • Переменные окружения: не заданы явно (используются параметры запуска).

  • Политика перезапуска: always.

Nginx (Proxy)

  • Имя образа: jonasal/nginx-certbot:latest

  • Сетевой режим: host

  • Тома (volumes):

  • nginx_secrets:/etc/letsencrypt

  • /data/nginx/user_conf.d:/etc/nginx/user_conf.d

  • Переменные окружения: CERTBOT_EMAIL=hkadm@hostkey.com

  • Политика перезапуска: unless-stopped.

Инструкция по обновлению приложения

Для обновления основного приложения Prometheus необходимо выполнить следующие действия:

  1. Обновить образ контейнера:

    docker compose pull
    

  2. Перезапустить сервис для применения изменений:

    docker compose up -d
    

Расположение конфигурационных файлов и данных

  • Конфигурационный файл Prometheus: /srv/prometheus/config/prometheus.yml

  • Директория с базами данных (TSDB): /srv/prometheus

  • Конфигурация проксирования Nginx: файлы в директории /data/nginx/user_conf.d.

Доступные порты для подключения

Порт Назначение Протокол
443 Внешний доступ к интерфейсу (через HTTPS) TCP
9090 Локальный доступ к API и метрикам TCP

Запуск, остановка приложения

Управление контейнером Prometheus осуществляется через Docker:

  • Остановка приложения:

    docker stop prometheus
    

  • Запуск приложения:

    docker start prometheus
    

question_mark
Я могу вам чем-то помочь?
question_mark
ИИ Помощник ×