Обзор развертывания VictoriaMetrics на сервере¶
Предварительные требования и базовые условия¶
Для успешного развертывания VictoriaMetrics на этом сервере необходимо выполнить следующие требования к среде:
-
На сервере должны быть установлены и работать Docker и Docker Compose.
-
Для создания томов, управления сервисами и настройки сетевых параметров требуются привилегии администратора (root или доступ sudo).
-
Сервер должен иметь сетевое подключение для разрешения внешних доменных имен и загрузки образов контейнеров из Docker Hub.
-
Развертывание предполагает использование операционной системы на базе Linux, совместимой с предоставленной конфигурацией Docker.
FQDN финальной панели¶
Доступ к панели VictoriaMetrics осуществляется по следующему полному доменному имени (FQDN) в домене hostkey.in:
-
Формат:
victoriametrics<Server ID>.hostkey.in -
Порт доступа:
443(HTTPS)
Примечание: Замените <Server ID> на фактический идентификатор, назначенный конкретному экземпляру сервера. Сервис доступен через корневой путь /.
Структура файлов и директорий¶
Компоненты приложения, файлы конфигурации и хранилище данных организованы в структуре корневой директории следующим образом:
| Директория/Путь | Описание |
|---|---|
/root/victoria-metrics-data | Основная директория данных, содержащая шаблоны конфигурации и смонтированные тома. |
/root/victoria-metrics-data/compose.yml | Файл определения Docker Compose для оркестрации сервисов. |
/root/victoria-metrics-data/authconfig.yml | Файл конфигурации аутентификации для сервиса vmauth. |
/data/nginx/user_conf.d | Директория для пользовательской конфигурации Nginx (управляется контейнером прокси). |
Процесс установки приложения¶
Приложение развертывается с помощью Docker Compose. Процесс включает генерацию необходимых файлов конфигурации и запуск контейнеризированных сервисов:
-
Развертывание создает директорию
/root/victoria-metrics-dataс правами владения root. -
Файл Docker Compose (
compose.yml) генерируется в/root/victoria-metrics-data/compose.yml. -
Файл конфигурации аутентификации (
authconfig.yml) генерируется в/root/victoria-metrics-data/authconfig.yml. -
Создается Docker-том с именем
victoriametricsдля сохранения данных приложения. -
Сервисы запускаются путем выполнения команды
docker compose up -dв директории/root/victoria-metrics-data.
Контейнеры Docker и их развертывание¶
В процессе развертывания используются три различных контейнера, определенных в файле compose.yml:
-
nginx:
-
Образ:
jonasal/nginx-certbot:latest -
Назначение: Обратный прокси с терминацией SSL/TLS и управлением сертификатами.
-
Порты: Открывает внешние порты
80и443. -
Окружение: Конфигурируется с электронной почтой
hkadm@hostkey.comдля Certbot. -
Тома: Монтирует
nginx_secretsдля сертификатов Let's Encrypt и отображает/data/nginx/user_conf.d. -
victoriametrics:
-
Образ:
victoriametrics/victoria-metrics:latest -
Назначение: Основной сервер VictoriaMetrics.
-
Порты: Открывает порт
8428для внутреннего доступа. -
Тома: Монтирует
/root/victoria-metrics-dataи именованный томvictoriametrics. -
Политика перезапуска:
unless-stopped. -
vmauth:
-
Образ:
victoriametrics/vmauth -
Назначение: Слой аутентификации для VictoriaMetrics.
-
Порты: Открывает порт
8427для внутреннего доступа. -
Команда: Запускается с флагом конфигурации
-auth.config=/root/victoria-metrics-data/authconfig.yml. -
Зависимости: Должен запускаться после сервиса
victoriametrics. -
Тома: Монтирует
/root/victoria-metrics-data. -
Политика перезапуска:
unless-stopped.
Серверы прокси¶
Доступ к панели VictoriaMetrics управляется через обратный прокси Nginx, настроенный с Certbot для автоматического управления SSL-сертификатами:
-
ПО: Nginx (через
jonasal/nginx-certbot:latest). -
SSL/TLS: Включено через Let's Encrypt. Сертификаты хранятся в томе
nginx_secretsв пути/etc/letsencryptвнутри контейнера. -
Конфигурация: Прокси слушает стандартные порты HTTP (
80) и HTTPS (443). -
Картирование доменов: Прокси настроен на пересылку запросов для конкретного FQDN на внутренний сервис VictoriaMetrics.
Расположение файлов конфигурации и данных¶
Ключевые файлы и расположения данных на хост-сервере включают:
-
Определение Compose:
/root/victoria-metrics-data/compose.yml -
Конфигурация аутентификации:
/root/victoria-metrics-data/authconfig.yml -
Данные приложения: Сохраняются внутри Docker-тома с именем
victoriametrics, отображенного в/victoria-metricsвнутри контейнера. -
Секреты сертификатов: Хранятся в Docker-томе
nginx_secrets, отображенном в/etc/letsencryptвнутри контейнера Nginx.
Доступные порты для подключения¶
Следующие порты доступны для подключения к развернутым сервисам:
-
Порт 443: Доступ HTTPS к панели VictoriaMetrics через публичный FQDN.
-
Порт 80: Доступ HTTP, используется в основном для валидации SSL-сертификатов Let's Encrypt.
-
Порт 8428: Прямой внутренний доступ к сервису VictoriaMetrics (привязан к localhost или внутренней сети).
-
Порт 8427: Прямой внутренний доступ к сервису
vmauth.
Настройки разрешений¶
Права доступа к файлам и директориям устанавливаются следующим образом в процессе развертывания:
-
Директория:
/root/victoria-metrics-data -
Владелец:
root -
Группа:
root -
Режим:
0644 -
Файлы:
-
compose.yml: Владелецroot, Группаroot, Режим0644. -
authconfig.yml: Владелецroot, Группаroot, Режим0644.
Запуск, остановка и обновление¶
Управление сервисами осуществляется с помощью команд Docker Compose, выполняемых из директории /root/victoria-metrics-data:
-
Запуск сервисов:
-
Остановка сервисов:
-
Обновление сервисов: Для применения изменений в
compose.ymlили загрузки новых версий образов:
Примечание: Файл authconfig.yml содержит ссылку на пароль SSH ({{ ansible_ssh_pass }}) для пользователя root, который используется для аутентификации во внутреннем endpoint VictoriaMetrics.