Установка и сопровождение
Postgres Pro Enterprise Manager
16
Авторские права
© Postgres Professional, 2023–2026
Авторы: Алексей Береснев, Илья Баштанов, Павел Толмачев, Игорь
Гнатюк
Фото: Олег Бартунов (монастырь Пху и пик Бхрикути, Непал)
Использование материалов курса
Некоммерческое использование материалов курса (презентации,
демонстрации) разрешается без ограничений. Коммерческое
использование возможно только с письменного разрешения компании
Postgres Professional. Запрещается внесение изменений в материалы
курса.
Обратная связь
Отзывы, замечания и предложения направляйте по адресу:
edu@postgrespro.ru
Отказ от ответственности
Компания Postgres Professional не несет никакой ответственности за
любые повреждения и убытки, включая потерю дохода, нанесенные
прямым или непрямым, специальным или случайным использованием
материалов курса. Компания Postgres Professional не предоставляет
каких-либо гарантий на материалы курса. Материалы курса
предоставляются на основе принципа «как есть» и компания Postgres
Professional не обязана предоставлять сопровождение, поддержку,
обновления, расширения и изменения.
2
Темы
Назначение и особенности
Возможности
Архитектура
Установка и настройка
Ролевая модель доступа
Интерфейс веб-приложения
3
Назначение и особенности
Единая консоль мониторинга и управления
Централизованный доступ к разным экземплярам и базам
Работа из окна браузера
Навигация по иерархии объектов
Ролевая модель управления доступом
Поддержка различных редакций PostgreSQL и Postgres Pro
Postgres Pro Enterprise Manager (PPEM) — комплексное решение для
администрирования инфраструктуры баз данных. PPEM предоставляет
удобный интерфейс для управления и мониторинга СУБД PostgreSQL
и различных редакций СУБД Postgres Pro.
PPEM может эксплуатироваться на операционных системах семейства
Linux. Информация по совместимости с другим ПО, а также аппаратные
и программные требования приведены в документации.
S
4
Возможности
Автообнаружение, настройка и управление экземплярами
Управление объектами баз данных
Мониторинг активности, производительности
и профилирование
Регламентные операции по обслуживанию
Резервное копирование и восстановление
Прямой доступ к SQL-консоли экземпляров
PPEM позволяет выполнять полный цикл задач развертывания,
эксплуатации и обслуживания баз данных:
●
обнаруживает экземпляры СУБД и добавляет их в веб-приложение,
позволяет развернуть новые экземпляры — как одиночные, так и
кластерные конфигурации;
●
содержит средства просмотра и настройки параметров конфигурации
без прямого редактирования файлов конфигурации;
●
позволяет работать с объектами экземпляров СУБД;
●
получает и отображает данные о внутренней активности СУБД
от подсистемы статистики, позволяет отменять запросы и завершать
процессы;
●
интегрируется с pgpro-otel-collector, по предоставляемым им
метрикам строятся графики для анализа работы СУБД;
●
интегрирован с pg_profile и pgpro_pwr, предоставляет удобный
интерфейс для работы со снимками и отчетами;
●
может выполнять служебные операции (очистка, анализ,
переиндексация и др.) вручную и автоматически по расписанию;
●
позволяет осуществлять резервное копирование как вручную, так и
по расписанию, а также создавать экземпляры из резервных копий;
●
обеспечивает доступ к SQL-консоли экземпляра.
5
PPEM
Архитектура
репозиторий
пользователь
менеджер
веб-приложение
служебная
информация
Веб-приложение — набор компонентов, которые обеспечивают
пользовательский интерфейс, доступный через браузер. Пользователь
выполняет различные действия в браузере, а веб-приложение
преобразует эти действия в запросы и отправляет их менеджеру.
Менеджер — служба, которая работает в фоновом режиме. Менеджер
принимает запросы на обслуживание инфраструктуры СУБД от веб-
приложения и преобразует их в операции согласно заложенной логике.
Менеджер имеет собственный планировщик для выполнения
регулярных служебных заданий. Веб-приложение устанавливается на
сервере вместе с менеджером PPEM.
Репозиторий — это база данных в отдельном экземпляре СУБД,
в которой менеджер хранит свою служебную информацию. Во время
запуска менеджер устанавливает соединение с репозиторием и при
выполнении операций читает и записывает в него данные. Доступность
репозитория крайне важна, без него менеджер работать не может.
6
сервер
агент
PPEM
Архитектура
репозиторий
сервер
пользователь
агент
менеджер
веб-приложение
задания
результат
действий
выполняет
действия в ОС
и в экземпляре
Агенты — это службы, которые выполняются на управляемых
серверах. Агенты принимают задания от менеджера и выполняют
действия как в операционной системе, так и в самом управляемом
экземпляре СУБД. Действиями могут быть запуск команд, создание
каталогов и файлов, выполнение запросов и т. п.
При синхронном выполнении агенты сразу отправляют менеджеру
результаты действий для регистрации в репозитории и последующей
обработки. При асинхронном выполнении менеджер периодически
опрашивает статус задания. Как и менеджер, агенты имеют
собственный планировщик служебных заданий, который регулярно
выполняет фоновые задачи.
Выполнив операцию, менеджер сообщает веб-приложению ее
результат, а приложение отображает его в браузере.
Объект управления PPEM — это экземпляр СУБД (PostgreSQL или
Postgres Pro в редакциях Standard или Enterprise). На одном сервере
достаточно одного агента, который может обслуживать несколько
экземпляров СУБД. С точки зрения экземпляра агент является
обычным клиентом, который подключается к СУБД под заранее
определенной ролью.
7
сервер
агент
PPEM
Архитектура
репозиторий
сервер
пользователь
объектное
хранилище
S3
сервис
аутентификации
пользователей
агент
менеджер
веб-приложение
резервные копии
pg_probackup
Для расширения функций и возможностей PPEM может использовать
внешние сервисы:
●
LDAP — служба каталогов для внешней аутентификации
пользователей.
В базовом сценарии использования PPEM аутентифицирует своих
пользователей самостоятельно, нужные для этого данные хранятся
в репозитории. Но при необходимости можно настроить
взаимодействие с внешним каталогом пользователей и групп —
поддерживается работа с сервисами OpenLDAP и Microsoft Active
Directory. При использовании внешней службы учетные данные
сначала проверяются в ней, а затем, если они не были обнаружены,
выполняется проверка в репозитории.
●
S3-совместимое объектное хранилище для резервных копий.
Для создания резервных копий экземпляров и восстановления из них
PPEM использует утилиту pg_probackup. Копии при этом могут
сохраняться не только в локальный каталог, но и в S3-совместимое
хранилище объектов. Работа с pg_probackup подробно
рассматривается далее в модуле «Резервное копирование».
8
сервер
агент
PPEM
Архитектура
репозиторий
сервер
пользователь
мониторинг
хранилище
журналов
агент
менеджер
веб-приложение
OTEL-
collector
OTLP-
совместимая
система
объектное
хранилище
S3
сервис
аутентификации
пользователей
метрики
и журналы
Другими внешними сервисами, с которыми может взаимодействовать
PPEM, являются системы хранения метрик и журналов,
поддерживающие спецификацию OTLP:
●
Система хранения метрик с поддержкой работы по push- и/или по
pull-модели. Поддерживается работа с Victoriametrics и Prometheus.
●
Система хранения журналов. Поддерживается работа с Elasticsearch.
Запись в эти хранилища выполняет служба pgpro-otel-collector. Задача
коллектора — извлекать статистические данные об экземпляре из
различных источников (системные представления, таблицы, журналы)
и передавать их в системы хранения и мониторинга.
Наряду с внешними системами, коллектор может использовать
и внутреннее хранилище: в этом случае собираемые данные
сохраняются в базе данных репозитория PPEM. Но такой подход
не рекомендуется для использования в производственной среде.
9
Установка и настройка
Менеджер
установка пакета
репозиторий
настройка
Агенты
установка
настройка
Особенности
безопасность и разделение доступа
работа с системами высокой доступности
После установки менеджера PPEM из пакета необходимо подготовить
экземпляр СУБД PPEM для хранения служебных данных. В этом
экземпляре нужно создать базу данных репозитория и роль, от имени
которой менеджер будет подключаться к базе. Также необходимо
внести соответствующие настройки в файл конфигурации менеджера.
Агент, будучи установленным из пакета, тоже нуждается в настройке.
В служебном экземпляре СУБД нужно создать роль для подключения
агента к базе репозитория. Также нужно задать в конфигурационном
файле агента его уникальное имя, API-ключ и URL для подключения
к менеджеру и учетные данные для доступа к базе репозитория.
В средах с усиленными мерами безопасности службы менеджера
и агента могут быть настроены для запуска от имени отдельных,
непривилегированных пользователей ОС:
11
Ролевая модель доступа
Субъекты
пользователи и агенты
Объекты
ресурсы PPEM: сервер, агент, экземпляр, пользователь...
Роли
набор прав на один класс объектов
системные роли
объектно-привязанные роли
Управление доступом в PPEM реализовано на основе ролевой модели.
Субъектами являются пользователи и агенты, объектами — ресурсы
самого PPEM и их представления в репозитории. Ресурсы относятся
к разным классам, таким как экземпляры или задания.
Аутентификация субъектов может выполняться:
●
Встроенными средствами PPEM. Данные о субъектах хранятся
в репозитории и управляются администратором PPEM.
●
Через внешний каталог LDAP. Данные о субъектах хранятся
во внешнем каталоге, а менеджер настроен на работу с ним.
Уровень доступа субъектов к различным ресурсам определяется
правами. Права не назначаются пользователям и группам напрямую,
а приобретаются через роли.
Роль содержит набор прав на объекты одного класса. Обычно эти
права относятся ко всем объектам класса, но можно указать и
конкретный объект, тогда права и роли становятся объектно-
привязанными.
Существует набор предопределенных («системных») ролей, удаление и
изменение которых из веб-приложения невозможно, но можно
создавать дополнительные пользовательские роли с нужными правами.
Отметим, что пользователи и роли PPEM никак не связаны с ролями
обслуживаемых экземпляров СУБД.
12
Веб-приложение
Чтобы начать работать с приложением, нужно в адресной строке
браузера ввести сетевой адрес или имя сервера и номер порта, на
котором сервер прослушивает входящие подключения. Эти параметры
задаются при настройке сервера и указаны в файле конфигурации
менеджера; в виртуальной машине курса адрес — localhost:8180.
Далее, на странице авторизации, необходимо ввести логин и пароль
пользователя. После этого откроется главная страница приложения,
на которой представлена сводная информация о приложении и
обслуживаемых ей объектах.
Элементами интерфейса также являются навигационная панель,
с помощью которой можно быстро переходить с одной страницы
приложения на другую (некоторые страницы приложения содержат
вложенные страницы) и панель инструментов со строкой поиска
компонентов, а также переключатели тем оформления и языка
приложения.
Страницы приложения, преимущественно предназначенные для
работы с инфраструктурой, и страницы, предназначенные для работы
непосредственно с базами данных, сгруппированы на панели навигации
в отдельные разделы «Инфраструктура» и «Базы данных».
В панели инструментов также есть пиктограмма в виде колокольчика,
нажав на которую можно просмотреть уведомления самого PPEM.
14
Итоги
PPEM — комплексное решение для администрирования
инфраструктуры баз данных
Удобный интерфейс для управления, обслуживания
и мониторинга СУБД PostgreSQL и различных редакций
Postgres Pro
Многокомпонентная архитектура с централизованным
репозиторием и агентами на управляемых серверах
Собственная система управления доступом на основе
ролевой модели
15
Практика
1. Войдите в PPEM как admin и создайте пользователей
access-adm и ent-16-adm, которые будут управлять в PPEM
ролями пользователей и экземпляром ent-16. Пользователю
access-adm выдайте право Access administrator role.
2. Создайте пользовательскую роль Notifications administrator c
правами работы с уведомлениями.
3. Войдите в PPEM как access-adm. Назначьте пользователю
ent-16-adm роль Notifications administrator и роль Instance
administrator role для экземпляра ent-16.
4. Войдите в PPEM как ent-16-adm и выполните проверку
целостности каталога данных экземпляра ent-16, а затем
перезапустите экземпляр. Убедитесь, что эти команды
отработали успешно.
1. Значок на рабочем столе «PPEM start» запускает необходимые
службы и открывает приложение в окне браузера. Для первого входа
в PPEM используйте логин admin, пароль admin.
4. Для проверки откройте «Список заданий» во вкладке «Консоль
заданий» навигационной панели.