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

Обзор развертывания 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

Процесс установки приложения

Процесс развертывания включает в себя несколько этапов:

  1. Обновление системы: Выполняется обновление списков пакетов и обновление всех установленных системных компонентов через apt.

  2. Установка системного ПО: Устанавливаются веб-сервер nginx и менеджер пакетов python3-pip.

  3. Настройка SSL: С помощью certbot (через плагин для nginx) выпускается SSL-сертификат для домена приложения. Для этого на время проверки используется системный сервис nginx.

  4. Установка Docker: На сервер устанавливается среда контейнеризации Docker.

  5. Развертывание PMM:

  6. Загружается образ percona/pmm-server:3.

  7. Создается именованный том pmm-data для хранения данных.

  8. Запускается контейнер с соответствующими параметрами безопасности и лимитами ресурсов.

Контейнеры 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, внутрь контейнера.

Для обеспечения безопасности и корректной работы веб-интерфейса выполняются следующие действия:

  1. Копирование файлов сертификатов (fullchain.pem, privkey.pem, ca-certs.pem) и параметров Diffie-Hellman (dhparam.pem) из системных директорий в рабочую директорию контейнера /srv/nginx/.

  2. Установка прав владения пользователем pmm:root на файлы сертификатов внутри контейнера.

  3. Настройка прав доступа к файлам:

  4. Для публичных файлов (сертификаты, CA): 0644.

  5. Для приватного ключа: 0600.

Инструкция по обновлению приложения

Для обновления основного приложения используется стандартный метод управления контейнерами Docker:

docker pull percona/pmm-server:3 && docker restart pmm-server

Расположение конфигурационных файлов и данных

  • Данные приложения (базы данных, настройки PMM): Хранятся в Docker-томе pmm-data по пути /srv внутри контейнера.

  • SSL-сертификаты (на хосте): /etc/letsencrypt/live/{domain}/.

  • Сертификаты внутри контейнера: /srv/nginx/.

Доступные порты для подключения

Порт Протокол Назначение
443 HTTPS Веб-интерфейс управления Percona Monitoring and Management
question_mark
Я могу вам чем-то помочь?
question_mark
ИИ Помощник ×