Обзор развертывания 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.
Процесс установки приложения¶
Процесс развертывания включает в себя несколько этапов:
-
Подготовка системного окружения: установка Docker и создание необходимых директорий для хранения данных Prometheus (
/srv/prometheusи/srv/prometheus/config). -
Настройка прав доступа: установка владельца (UID
65534) и группы (GID65534) на директории с данными, а также установка прав0775. -
Создание конфигурации: генерация файла
prometheus.ymlс базовыми настройками интервала сбора метрик (15s). -
Развертывание контейнера Prometheus: запуск сервиса с использованием Docker.
-
Настройка проксирования: развертывание контейнера 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 необходимо выполнить следующие действия:
-
Обновить образ контейнера:
-
Перезапустить сервис для применения изменений:
Расположение конфигурационных файлов и данных¶
-
Конфигурационный файл Prometheus:
/srv/prometheus/config/prometheus.yml -
Директория с базами данных (TSDB):
/srv/prometheus -
Конфигурация проксирования Nginx: файлы в директории
/data/nginx/user_conf.d.
Доступные порты для подключения¶
| Порт | Назначение | Протокол |
|---|---|---|
443 | Внешний доступ к интерфейсу (через HTTPS) | TCP |
9090 | Локальный доступ к API и метрикам | TCP |
Запуск, остановка приложения¶
Управление контейнером Prometheus осуществляется через Docker:
-
Остановка приложения:
-
Запуск приложения: