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

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

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

Для корректной работы системы необходимо наличие следующих компонентов и условий: - Операционная система с установленным Docker Engine и Docker Compose. - Права доступа пользователя root для создания директорий и запуска контейнеров. - Открытые порты 80 и 443 для работы веб-сервера и получения SSL-сертификатов. - Открытые порты 8427 и 8428 для доступа к компонентам VictoriaMetrics. - Наличие внешнего тома nginx_secrets для хранения сертификатов Let's Encrypt.

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

Все файлы конфигурации и данные приложения размещаются в следующей структуре: - /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 (монтируется в контейнер). - /etc/letsencrypt — директория для хранения SSL-сертификатов (монтируется через том nginx_secrets).

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

Развертывание приложения осуществляется с использованием Docker Compose. Система состоит из трех контейнеров:

  1. nginx:
  2. Образ: jonasal/nginx-certbot:latest.
  3. Назначение: работа в качестве обратного прокси-сервера и автоматическое получение SSL-сертификатов через Certbot.
  4. Электронная почта для сертификатов: hkadm@hostkey.com.
  5. Порты: 80 и 443.
  6. Тома: nginx_secrets для сертификатов, /data/nginx/user_conf.d для конфигурации.

  7. victoriametrics:

  8. Образ: victoriametrics/victoria-metrics:latest.
  9. Назначение: основной сервер метрик.
  10. Порт: 8428.
  11. Тома: /root/victoria-metrics-data для конфигурации, victoriametrics для хранения данных.

  12. vmauth:

  13. Образ: victoriametrics/vmauth.
  14. Имя контейнера: vmauth.
  15. Назначение: аутентификация и авторизация запросов.
  16. Порт: 8427.
  17. Команда запуска: -auth.config=/root/victoria-metrics-data/authconfig.yml.
  18. Тома: /root/victoria-metrics-data для доступа к файлу конфигурации.
  19. Зависимость: запускается после контейнера victoriametrics.

Все контейнеры настроены с политикой перезапуска unless-stopped.

Прокси серверы

В качестве прокси-сервера используется контейнер nginx на базе образа jonasal/nginx-certbot. - Сервер обрабатывает входящий трафик на портах 80 и 443. - Автоматическое получение и обновление SSL-сертификатов осуществляется через Certbot. - Конфигурация Nginx загружается из директории /data/nginx/user_conf.d, которая монтируется в контейнер по пути /etc/nginx/user_conf.d. - Секреты и сертификаты хранятся во внешнем томе nginx_secrets, монтируемом в /etc/letsencrypt.

Настройки прав

Права доступа к файлам и директориям на хосте настроены следующим образом: - Директория /root/victoria-metrics-data принадлежит пользователю root и группе root с правами 0644. - Файлы compose.yml и authconfig.yml внутри директории также принадлежат root:root с правами 0644. - Доступ к данным контейнеров осуществляется через Docker-тома, права внутри контейнеров управляются образами.

Запуск, остановка и обновление

Управление контейнерами осуществляется через Docker Compose из директории /root/victoria-metrics-data.

Для запуска всех сервисов в фоновом режиме используется команда:

docker compose up -d

Для остановки всех сервисов:

docker compose down

Для обновления образов и перезапуска контейнеров:

docker compose pull
docker compose up -d

Перед запуском необходимо убедиться в наличии внешних томов nginx_secrets и victoriametrics. Если они не созданы, их можно создать вручную командой:

docker volume create victoriametrics
Том nginx_secrets должен быть создан заранее как внешний том.

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