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

Обзор развертывания 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. Процесс установки включает следующие шаги:

  1. Обновление и повышение версии репозитория пакетов APT системы.

  2. Установка необходимых системных зависимостей, включая nginx и python3-pip.

  3. Установка certbot и certbot-nginx через pip для управления SSL.

  4. Установка Docker с использованием роли управляемой установки.

  5. Выполнение скрипта установщика Percona:

    curl -fsSL https://www.percona.com/get/pmm | /bin/bash
    

Права доступа и безопасность

Безопасность обеспечивается следующими механизмами:

  • Межсетевой экран (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 после изменения конфигурации или обновления сертификатов выполните следующую команду:

docker exec -i pmm-server supervisorctl restart nginx
Основные службы PMM управляются жизненным циклом Docker-контейнера. Для перезапуска всего стека приложения перезапустите контейнер pmm-server.

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