Обзор развертывания Percona Monitoring and Management (PMM) на сервере¶
Предварительные требования¶
Для корректной работы приложения требуются следующие условия:
-
Операционная система: Ubuntu.
-
Права доступа: Права суперпользователя (
root) для установки системных пакетов и управления Docker. -
Доменное имя: Настроенный домен в зоне
hostkey.in. -
Порты: Должен быть открыт порт
443(HTTPS) для доступа к веб-интерфейсу PMM.
FDQN итоговой панели на домене hostkey.in¶
Для работы приложения используется следующий шаблон доменного имени:
| Параметр | Значение |
|---|---|
| Префикс | percona |
| Домен | hostkey.in |
| Полный шаблон | percona{Server_ID_from_Invapi}.hostkey.in |
Процесс установки приложения¶
Процесс развертывания включает в себя несколько этапов:
-
Обновление системы: Выполняется обновление списков пакетов и обновление всех установленных системных компонентов через
apt. -
Установка системного ПО: Устанавливаются веб-сервер
nginxи менеджер пакетовpython3-pip. -
Настройка SSL: С помощью
certbot(через плагин дляnginx) выпускается SSL-сертификат для домена приложения. Для этого на время проверки используется системный сервисnginx. -
Установка Docker: На сервер устанавливается среда контейнеризации Docker.
-
Развертывание PMM:
-
Загружается образ
percona/pmm-server:3. -
Создается именованный том
pmm-dataдля хранения данных. -
Запускается контейнер с соответствующими параметрами безопасности и лимитами ресурсов.
Контейнеры Docker и их запуск¶
Приложение работает в изолированном контейнере Docker со следующими характеристиками:
| Параметр | Значение |
|---|---|
| Имя образа | percona/pmm-server:3 |
| Имя контейнера | pmm-server |
| Порты (хост:контейнер) | 443:8443 |
| Тома (volumes) | pmm-data:/srv |
| Политика перезапуска | always |
Переменные окружения:
-
PMM_CLICKHOUSE_CONFIG=low-memory— оптимизация конфигурации ClickHouse для работы в условиях ограниченной памяти. -
PMM_ENABLE_UPDATES=0— отключение автоматических обновлений внутри контейнера.
Системные настройки (ulimit):
- Установлен лимит на количество открытых файлов:
1000000.
Кастомные скрипты и дополнительные настройки¶
После запуска контейнера выполняется процесс интеграции SSL-сертификатов, полученных от Certbot, внутрь контейнера.
Для обеспечения безопасности и корректной работы веб-интерфейса выполняются следующие действия:
-
Копирование файлов сертификатов (
fullchain.pem,privkey.pem,ca-certs.pem) и параметров Diffie-Hellman (dhparam.pem) из системных директорий в рабочую директорию контейнера/srv/nginx/. -
Установка прав владения пользователем
pmm:rootна файлы сертификатов внутри контейнера. -
Настройка прав доступа к файлам:
-
Для публичных файлов (сертификаты, CA):
0644. -
Для приватного ключа:
0600.
Инструкция по обновлению приложения¶
Для обновления основного приложения используется стандартный метод управления контейнерами Docker:
Расположение конфигурационных файлов и данных¶
-
Данные приложения (базы данных, настройки PMM): Хранятся в Docker-томе
pmm-dataпо пути/srvвнутри контейнера. -
SSL-сертификаты (на хосте):
/etc/letsencrypt/live/{domain}/. -
Сертификаты внутри контейнера:
/srv/nginx/.
Доступные порты для подключения¶
| Порт | Протокол | Назначение |
|---|---|---|
443 | HTTPS | Веб-интерфейс управления Percona Monitoring and Management |