Обзор развертывания Percona Monitoring на сервере¶
Предварительные требования и базовые условия¶
Для развертывания Percona Monitoring and Management (PMM) требуется Linux-среда со следующими характеристиками:
-
Операционная система: Ubuntu (совместимая с управлением пакетами APT).
-
Привилегии: Для установки системных пакетов, Docker и управления службами требуется доступ root или sudo.
-
Конфигурация домена: Сервер должен быть доступен через домен
hostkey.in. -
Сеть: Сервер должен иметь исходящий доступ в интернет для загрузки установщика PMM и SSL-сертификатов.
FQDN финальной панели¶
Интерфейс Percona Monitoring доступен по следующему формату полного доменного имени (FQDN):
percona<Server ID>.hostkey.in
Сервис работает через стандартные порты HTTPS после выдачи SSL-сертификата.
Структура файлов и каталогов¶
Приложение использует контейнерную архитектуру, где конфигурация и данные управляются внутри Docker-контейнера с именем pmm-server. Ключевые внутренние пути включают:
-
SSL-сертификаты:
/srv/nginx/certificate.crt,/srv/nginx/certificate.key,/srv/nginx/ca-certs.pem,/srv/nginx/dhparam.pem. -
Конфигурация Nginx:
/srv/nginx/certificate.conf. -
Сертификаты хост-системы:
/etc/letsencrypt/live/percona<Server ID>.hostkey.in/.
Процесс установки приложения¶
Комплекс Percona Monitoring and Management (PMM) устанавливается с помощью официального скрипта установщика Percona. Процесс установки включает следующие шаги:
-
Обновление и повышение версии репозитория пакетов APT системы.
-
Установка необходимых системных зависимостей, включая
nginxиpython3-pip. -
Установка
certbotиcertbot-nginxчерез pip для управления SSL. -
Установка Docker с использованием роли управляемой установки.
-
Выполнение скрипта установщика Percona:
Права доступа и безопасность¶
Безопасность обеспечивается следующими механизмами:
-
Межсетевой экран (Firewall): Система полагается на конфигурацию межсетевого экрана хоста для разрешения трафика на порты PMM.
-
SSL/TLS: Защищенные соединения устанавливаются с использованием сертификатов Let's Encrypt, выданных через Certbot.
-
Права пользователей: Внутри контейнера файлы SSL-сертификатов и конфигурации принадлежат пользователю
pmmи группеpmm. -
Выдача сертификатов: Сертификаты выдаются автоматически для домена
percona<Server ID>.hostkey.inбез необходимости регистрации по электронной почте.
Docker-контейнеры и их развертывание¶
Приложение работает внутри одного Docker-контейнера с именем pmm-server. Развертывание включает:
-
Имя контейнера:
pmm-server. -
Управление службами: Внутренние службы, включая Nginx, управляются через
supervisorctlвнутри контейнера. -
Интеграция сертификатов: SSL-сертификаты, сгенерированные на хосте, копируются в контейнер с помощью
docker cp, а права доступа настраиваются так, чтобы пользовательpmmмог к ним обращаться.
Прокси-серверы¶
Nginx выступает в роли обратного прокси для интерфейса Percona Monitoring. Конфигурация включает:
-
Завершение SSL (SSL Termination): Nginx обрабатывает HTTPS-трафик, используя сертификаты, предоставленные Let's Encrypt.
-
Источник сертификатов: Сертификаты извлекаются из каталога
/etc/letsencrypt/live/хоста и внедряются в контейнер. -
Пользовательский домен: Прокси настроен на обслуживание конкретного поддомена
percona<Server ID>.hostkey.in. -
Параметры DH: Параметры Диффи-Хеллмана копируются с хоста в
/srv/nginx/dhparam.pemвнутри контейнера.
Настройки прав доступа¶
Права доступа к файлам внутри Docker-контейнера явно задаются для обеспечения необходимого доступа пользователю приложения:
-
Владелец:
pmm.pmm(пользовательpmm, группаpmm). -
Файлы:
-
/srv/nginx/certificate.crt -
/srv/nginx/certificate.key -
/srv/nginx/ca-certs.pem -
/srv/nginx/dhparam.pem -
/srv/nginx/certificate.conf
Эти права применяются с помощью команд chown, выполняемых внутри контейнера после копирования файлов.
Расположение файлов конфигурации и данных¶
Файлы конфигурации и данные находятся в следующих каталогах:
-
Хост-система:
-
SSL-сертификаты:
/etc/letsencrypt/live/percona<Server ID>.hostkey.in/ -
Параметры DH:
/etc/letsencrypt/ssl-dhparams.pem -
Docker-контейнер (
pmm-server): -
Конфигурация Nginx и сертификаты:
/srv/nginx/ -
Данные PMM: Управляются внутренними механизмами контейнера PMM.
Доступные порты для подключения¶
Интерфейс Percona Monitoring доступен через стандартный порт HTTPS:
- Порт 443: Защищенный HTTP-трафик (HTTPS) для веб-интерфейса.
Запуск, остановка и обновление¶
Управление службами внутреннего прокси Nginx осуществляется через менеджер процессов Supervisor внутри Docker-контейнера. Для перезапуска службы Nginx после изменения конфигурации или обновления сертификатов выполните следующую команду:
Основные службы PMM управляются жизненным циклом Docker-контейнера. Для перезапуска всего стека приложения перезапустите контейнерpmm-server.