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