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.