3.1. Описание компонентов #
Архитектура Postgres Pro Enterprise Manager включает компоненты, перечисленные ниже.
- Веб-приложение #
Веб-приложение обеспечивает пользовательский графический интерфейс, доступный через веб-браузер. Веб-приложение устанавливается на сервере с менеджером. Пользователи выполняют различные действия с помощью браузера, а веб-приложение преобразует эти действия в запросы и отправляет их менеджеру. Менеджер обрабатывает запросы и возвращает их веб-приложению. Веб-приложение преобразует ответ в различные представления и отображает в браузере.
- Менеджер #
Менеджер PPEM (далее — менеджер) — служба, которая работает в фоновом режиме. Менеджер принимает запросы на обслуживание инфраструктуры СУБД и имеет собственный планировщик для выполнения регулярных служебных заданий. Менеджер принимает запросы от веб-приложения и преобразует их в операции согласно заложенной логике.
Для выполнения операций могут потребоваться:
различные служебные данные, которые, как правило (но необязательно), хранятся в репозитории
выполнение инструкций на стороне агентов
Выполнив операцию, менеджер сообщает результат операции веб-приложению.
Примечание
Операции, которые выполняет менеджер, могут быть синхронными и асинхронными. В случае синхронного выполнения менеджер вынужден дождаться завершения операции, чтобы получить ответ. В случае асинхронного выполнения менеджер сразу получает ответ о том, что операция поставлена в очередь выполнения. В этом случае менеджеру необходимо периодически проверять статус выполнения операции, однако в большинстве случаев пользователь получает уведомление по её завершении.
- Репозиторий #
Репозиторий PPEM (далее — репозиторий) — база данных в выделенном экземпляре СУБД с набором схем и таблиц, в которых менеджер хранит необходимую для работы служебную информацию. Менеджер при запуске устанавливает соединение с репозиторием и в процессе выполнения операций читает и записывает данные в репозиторий. Доступность репозитория носит критический характер — в случае недоступности репозитория дальнейшая работа менеджера невозможна.
- Агенты #
Агенты PPEM (далее — агенты) — службы, которые должны выполняться на управляемых серверах СУБД. Агенты принимают управляющие инструкции от менеджера и, в зависимости от типа инструкции, выполняют различные действия как в операционной системе, так и в экземпляре СУБД, например:
запуск команд
создание каталогов и файлов
выполнение запросов
Во время или по завершении действий результат выполнения отправляется менеджеру для записи в репозиторий и/или последующей обработки в соответствии с логикой операции.
Агенты также имеют внутренний планировщик служебных заданий, который регулярно выполняет фоновые задания и отправляет менеджеру результат выполнения.
На отдельном сервере достаточно одного агента, который способен обслуживать один и более экземпляров СУБД.
- Экземпляр СУБД #
Экземпляр СУБД — объект управления PPEM, то есть СУБД Postgres Pro в различных редакциях (Postgres Pro Standard, Postgres Pro Enterprise). Несколько экземпляров СУБД могут объединяться в кластеры. Обычно это кластеры потоковой репликации.
С отдельным экземпляром СУБД должен взаимодействовать только один агент. Не допускайте сценариев, когда несколько агентов работают с одним и тем же экземпляром СУБД, это может привести к путанице и неоднозначности поведения. С точки зрения экземпляра СУБД агент является обычным прикладным ПО, которое подключается к экземпляру через интерфейс SQL, используя заранее определённую учётную запись СУБД.
- Внешние службы #
Для расширения функций и возможностей PPEM может использовать различные внешние службы. Все эти службы являются необязательными и взаимодействие с ними настраивается отдельно.
Примечание
PPEM не содержит инструменты для административного управления внешними службами (например, управление ресурсами и настройками).
Поддерживаются следующие внешние службы:
Каталог LDAP — каталог пользователей и групп для аутентификации пользователей в PPEM. PPEM поддерживает работу со службами OpenLDAP и Microsoft Active Directory.
S3-совместимое объектное хранилище — используется PPEM для размещения резервных копий, создаваемых утилитой pg_probackup.
OTLP-совместимая система хранения метрик — система хранения метрик с поддержкой работы по push-модели с возможностью записи метрик по протоколу OTLP, например Victoriametrics, и/или по pull-модели, способной забирать метрики по протоколу HTTP, например Prometheus. PPEM может использовать такую систему для получения метрик, которые записываются туда коллектором pgpro-otel-collector. PPEM поддерживает работу как с Victoriametrics, так и с Prometheus.
OTLP-совместимая система хранения журналов — система хранения метрик, способная принимать журналы по протоколу OTLP. PPEM может использовать такую систему для получения журналов СУБД, которые записываются туда коллектором pgpro-otel-collector. PPEM поддерживает работу с Elasticsearch.