Логотип
Баннер в шапке 1
Баннер в шапке 2
2024/06/25 16:29:46

Мониторинг, диагностика и управление БД в одном окне: как устроен Postgres Pro Enterprise Manager

С декабря 2023 года все пользователи российской СУБД Postgres Pro могут свободно работать с Postgres Pro Enterprise Manager (PPEM) — графической платформой для эффективного и удобного управления базами данных Postgres Pro и PostgreSQL. Какие функции для мониторинга, диагностики и управления есть в PPEM — в нашем обзоре.

Содержание

Image:PPEM.png

РРЕМ устроен по принципу «единого окна» и позволяет работать с целевым ландшафтом баз данных через браузер. С помощью РРЕМ администратор баз данных может выполнять весь спектр задач гораздо проще и быстрее — не тратя время на перемещение между серверами и ручной сбор необходимой информации.

Консоль РРЕМ позволяет выполнять рутинные операции при помощи удобных экранов, не требуя знания синтаксиса команд. Встроенный мониторинг даёт возможность отслеживать основные метрики производительности и создавать собственные графики, визуализирующие различные характеристики нагрузки на базу данных.

Кому доступен Postgres Pro Enterprise Manager
РРЕМ не поставляется отдельно, а является частью СУБД Postgres Pro. Чтобы начать пользоваться Postgres Pro Enterprise Manager, достаточно быть владельцем любой СУБД линейки Postgres Pro. Также, PPEM можно использовать и для гибридных ландшафтов: Postgres Pro + «ванильный» PostgreSQL

Как устроен Postgres Pro Enterprise Manager

Image:Ррем.jpg

Postgres Pro Enterprise Manager представляет собой приложение, которое рекомендуется устанавливать на отдельный сервер. Основная логика РРЕМ реализуется процессом, использующим базу данных Postgres Pro в качестве репозитория, также этот процесс является web-сервером и отвечает за формирование контента. Взаимодействие с целевыми экземплярами баз данных осуществляется по протоколу http/https через агентов, установленных на соответствующие серверы. Конечный пользователь работает с РРЕМ через веб-браузер.

Какие задачи Администратор может решать при помощи PPEM

Задачи DBA можно разделить на четыре основных группы:

  1. Обслуживание / Конфигурирование
  2. Диагностика производительности
  3. Регламентные задачи
  4. Резервное копирование / Восстановление

Конфигурирование и обслуживание

Общая информация, профиль нагрузки, основные метрики

Управление пользователями, ролями и привилегиями

В Postgres Pro Enterprise Manager реализована ролевая модель, можно создавать пользователей PPEM с различными наборами привилегий. Новому пользователю можно назначить роль администратора для конкретных экземпляров БД, пользователя консоли, администратора регламентных расписаний или администратора системы. Отображение информации на экранах РРЕМ происходит в соответствии с заданными привилегиями, например, администратор увидит в меню/списках только те экземпляры, к которым ему предоставлен доступ. Можно также создавать группы, которым заранее назначать определенные наборы ролей и потом включать пользователей в эти группы. Администратору системы доступен информационный экран со списком привилегий и ролей:

Управление пользователями РРЕМ и их привилегиями по ролевой модели
Информация о ролях и привилегиях РРЕМ

Просмотр сведений в сводной информационной панели (дашборде)

Дашборд объединяет всю основную информацию об управляемой инфраструктуре БД на одном экране. На этой панели администратор видит сведения о количестве экземпляров, баз данных, размере журналов и общем размере всех баз данных. Также на дашборде отображаются последние уведомления из журналов событий.

Можно переходить к целевым экземплярам прямо из дашборда или через единое навигационное меню слева также можно воспользоваться прямым поиском объекта по его названию. В результате у администратора есть быстрый доступ к нужным экземплярам, базам данных, таблицам и индексам, в названии которых встречается данная комбинация символов.

На дашборде отображается основная информация о базах данных, подключенных к РРЕМ

Работа с экземплярами (instances)

На странице «Экземпляры» можно увидеть, активен или остановлен тот или иной экземпляр, проверить версию Postgres, порт, директорию, количество баз данных и транзакций в секунду, среднюю загрузку CPU и т.д. Для каждого экземпляра доступны быстрые действия: запуск, останов, резервное копирование/восстановление, редактирование настроек подключения, применение пресетов конфигураций.

Список экземпляров, основная информация и базовые действия: остановка, запуск, резервное копирование, настройки

Фильтрация списка экземпляров

Также можно выполнить фильтрацию экземпляров по тегам/категориям, например, по характеру эксплуатации (важные, критичные, тестовые, разработка). Можно расширить встроенный набор тегов, добавляя свои категории, что позволит фильтровать общий список, например, по структуре организации — только определённый отдел или департамент или по функциональному принципу — финансы, HR, процессинг.

Добавление экземпляров

Добавление экземпляра возможно как вручную, так и посредством автоматического обнаружения (для этого потребуется указать предварительно установленный агент РРЕМ). Для данной операции используется интуитивно понятный мастер (wizard) добавления экземпляра.

Пример добавления экземпляра через обнаружение

Пресеты конфигурации для

Для экземпляра можно применить настройки с использованием лучших практик — пресеты конфигурации. Сейчас это настройки для 1С, но в будущем станет возможно и применение кастомных пресетов.

Автоматическая настройка экземпляра под тип нагрузки 1С

Дополнительные сведения по экземпляру

Для каждого экземпляра можно просмотреть более подробную информацию, используя меню «Обзор». На ней дополнительно представлены сведения об ОС, версии агента PPEM, количестве и размере баз данных и табличных пространств. Также доступны графики подключений и транзакций, данные о роли в отказоустойчивом кластере, размере журнала предзаписи (WAL), времени отклика, контрольных суммах, коэффициенте «распухания» (bloat) и другая информация.

Обзорный экран экземпляра

Работа с журналом событий

Для каждого события в журнале сообщений PPEM отображаются время фиксации, экземпляр, база данных, тип и текст сообщения, коды sqlstate и другая полезная информация. На экране просмотра журнала можно применять сортировку, различные фильтры или использовать быстрые настройки (например, для поиска ошибок с типами ERROR, FATAL и PANIC).

Отображение журнала сообщений

Работа с базами данных экземпляра

Для каждой БД экземпляра на вкладке «Базы данных» указаны размер, запас идентификаторов транзакций (wraparound), количество и размер таблиц, количество и размер индексов. Здесь же администратор может выполнить ряд действий для базы: создать, удалить или переименовать БД, а также регламентные процедуры ANALYZE, REINDEX, VACUUM. Кроме того, возможен вызов консоли PSQL непосредственно из браузера.

Пример открытия окна консоли PSQL в списке БД

Визуализация схемы БД

В меню «Базы данных» экземпляра можно просмотреть список соответствующих БД, общую информацию о количестве таблиц и индексов, а перейдя в конкретную БД можно увидеть подробную информацию о схеме БД, таблицах, индексах, структуре и ограничениях.

Полная информация о логической и физической структуре, индексах и ограничениях

Работа с параметрами экземпляра

На вкладке «Параметры» можно посмотреть или изменить значения настроечных параметров экземпляра. Для удобства можно воспользоваться прямым поиском по названию параметра или по категории (Autovacuum, Statistics, WAL и т.д.), либо установить переключатель «Показать не дефолтные», чтобы посмотреть параметры, значения которых менялись.

Управление подключениями

На вкладке «Аутентификация» можно управлять настройками подключения к экземпляру, просматривая или редактируя записи файла аутентификации pg_hba.conf.

Диагностика производительности

Графики метрик производительности

Полный список метрик с возможностью выбора отображаемых виджетов и масштабирования фрагментов на графике

Postgres Pro Enterprise Manager не является классической системой мониторинга, но обеспечивает возможность визуализации различной статистики: основные графики производительности доступны на вкладке «Метрики», для удобства работы они сгруппированы в категории — пресеты. На экране метрик в PPEM представлено 25 готовых графиков, но их при необходимости можно дополнять, создавая свои собственные виджеты. Мастер создания графиков предложит множество метрик из дополнительного списка.

Опция масштабирования дает администратору возможность «раскрыть» интересующий временной интервал, (например, обнаруженную аномалию) на графике, а одновременный режим позволит выполнить это действие на всех связанных графиках, таким образом можно проследить корреляцию событий.

Просмотр статистики по SQL-запросам

Используя вкладку «SQL-статистика», администратор может просмотреть расширенную статистику по всем SQL-предложениям, выполняемым в экземпляре, включая возможность фильтрации по суммарному времени выполнения, количеству запусков, количеству обработанных строк и т.д. Также на этой вкладке можно посмотреть полный текст запроса в форматированном виде и с подсветкой синтаксиса.

Статистика по SQL-предложению

Просмотр статистики по сессиям

На вкладке «Сессии» доступна статистика по всем процессам/сессиям, которые запущены в данном экземпляре: тип процесса, состояние, событие ожидания, какой запрос выполняется и т.д. Для удобства диагностики можно устанавливать фильтр по статусу сессии, например, показывать только активные, также при помощи селектора выбирать активность по определенной базе данных. Как и на странице SQL-статистики, доступна сортировка по различным полям и форматированный вывод текстов запросов.

Image:Просмотр_статистики_по_сессиям.jpg

Просмотр плана запроса

Для активных сессий доступна возможность просмотра плана запроса при помощи расширения pg_query state. При нажатии на соответствующую пиктограмму можно не только посмотреть актуальный план, по которому в данный момент происходит выполнение запроса, но и прогресс его выполнения по каждому шагу (с количеством обработанных строк). Можно обновлять информацию в окне и, таким образом, наблюдать запрос в динамике и определить сколько строк уже обработано по отношении к расчетному количеству. Далее, при помощи модуля визуализации, через меню «Визуализация» можно работать с удобным представлением плана запроса.

Информация о плане запроса и прогрессе выполнения
Пример визуализации плана запроса

Профайлер нагрузки PGPRO_PWR

PPEM обеспечивает полную поддержку PGPRO_PWR — диагностического профайлера нагрузки, который формирует историю статистики производительности баз данных, создает диагностические отчеты за период времени, сравнительные отчеты. РРЕМ также дает возможность визуализации метрик по накопленной истории статистики.

Конфигурация целевых серверов для pgpro_pwr
Визуализация статистики за период
Пример диагностического отчета

Регламентные задачи

Контроль заданий

Из главного меню PPEM доступна консоль контроля заданий, в которой для каждого задания отображается статус, время начала и окончания, полный журнал выполнения.

Консоль контроля заданий РРЕМ

Резервное копирование / восстановление

Управление резервными копиями

Список резервных копий, статус и основная информация по ним. Можно посмотреть детальный журнал выполнения или вызвать форму восстановления из выбранной резервной копии

В PPEM можно выполнять основные задачи резервного копирования и восстановления (backup/recovery/validate/merge), используя все преимущества системы pg_probackup, включая сжатие, параллелизм, инкрементальный режим и т.д. Можно отслеживать прогресс и просматривать журнал выполнения резервной копии, а также настраивать резервное копирование по расписанию. Кроме этого, доступно управление хранилищами (каталогами) резервных копий, включая облачные хранилища S3.

Форма создания задачи на выполнение резервного копирования. Задание можно выполнить сразу или запланировать по расписанию

Уникальные преимущества PPEM

Postgres Pro Enterprise Manager не является классической системой мониторинга или пассивного наблюдения, мы делаем акцент на средства управления корпоративными БД, такими как:

  • создание экземпляра;
  • создание/удаление/переименование БД;
  • создание/удаление/редактирование Tablespace;
  • создание/удаление/редактирование объектов схемы БД;
  • онлайн-доступ к консоли PSQL из окна РРЕМ;
  • поддержка задач резервного копирования/восстановления — интерфейс к pg_probackup (backup/recovery/validate/merge);
  • управление настройками аутентификации — pg_hba.conf;
  • информация о плане и прогрессе активного запроса;
  • установка пресета настроек экземпляра для ;
  • работа с исторической диагностикой через профайлер нагрузки PGPRO_PWR;
  • создание кастомных графиков для метрик;
  • добавление экземпляра при помощи режима автоматического обнаружения — discovery;
  • масштабирование временных интервалов на графиках.

В недавних релизах РРЕМ мы существенно оптимизировали производительность приложения и доработали UI, а также добавили много полезных возможностей для DBA:

  • экран с информацией о ролях экземпляра;
  • возможность создания групп пользователей РРЕМ;
  • поддержку LDAP;
  • принудительное завершение сессии или запроса;
  • возможность планирования регламентных задач;
  • отображение настроек и статуса потоковой репликации;
  • информацию о физической структуре хранения объектов (файловое представление, TOAST, параметры хранения).

Планы развития платформы

Мы продолжаем интегрировать различные механизмы диагностики, контроля и настройки производительности и другие возможности СУБД Postgres Pro в РРЕМ. Скоро мы планируем добавить:

  • интеграцию с встроенной системой управления отказоустойчивыми кластерами — Postgres Pro BiHA;
  • интеграцию всех возможностей резервного копирования pg_probackup;
  • расширение функционала пресетов конфигурации экземпляров
  • отображение информации о блокировках;
  • управление расширениями;
  • интеграцию с распределённой системой управления базами данных — Postgres Pro Shardman;
  • более гибкое управление расписаниями и дальнейшее усовершенствование UI/UX.

Тестовая версия и консультация

Чтобы получить консультацию по всем возможностям PPEM или протестировать платформу, напишите нам на presale@postgrespro.ru или оставьте заявку.

Еще больше о платформе — в нашем видео: