Мониторинг, диагностика и управление базами данных в одном окне: как устроен Postgres Pro Enterprise Manager
С декабря 2023 года все пользователи российской СУБД Postgres Pro могут свободно работать с Postgres Pro Enterprise Manager (PPEM) — графической платформой для эффективного и удобного управления базами данных Postgres Pro и PostgreSQL. О том, какие функции для мониторинга, диагностики и управления есть в PPEM — в нашем обзоре на Youtube и статье ниже.
РРЕМ устроен по принципу «единого окна» и позволяет работать с целевым ландшафтом баз данных через браузер. С помощью РРЕМ администратор баз данных может выполнять весь спектр задач гораздо проще и быстрее — не тратя время на перемещение между серверами и ручной сбор необходимой информации.
Консоль РРЕМ позволяет выполнять рутинные операции при помощи удобных экранов, не требуя знания синтаксиса команд. Встроенный мониторинг даёт возможность отслеживать основные метрики производительности и создавать собственные графики, визуализирующие различные характеристики нагрузки на базу данных.
Как устроен Postgres Pro Enterprise Manager
РРЕМ реализован как web-приложение.
Модуль сервера РРЕМ — он же web-сервер — реализует основную логику системы и формирует контент. Выделенная БД Postgres Pro служит служебным репозиторием для сервера РРЕМ. Взаимодействие с целевыми экземплярами баз данных осуществляется по протоколу http/https через агентов, установленных на соответствующие серверы. Конечный пользователь работает с РРЕМ через веб-браузер.
PPEM постоянно развивается и дорабатывается с учетом пожеланий заказчиков и в соответствии с собственными планами разработки. Уже сейчас пользователям PPEM доступно выполнение следующих основных административных действий:
- создание, обнаружение, запуск и останов экземпляров;
- пресеты (заранее определенные настройки) экземпляров под нагрузку 1С;
- управление базами данных, табличными пространствами и объектами схемы;
- управление параметрами настройки и аутентификации экземпляра;
- резервное копирование (в том числе по расписанию) и восстановление;
- отображение информации по сессиям и SQL-запросам;
- принудительный останов активного запроса или сессии;
- работа с журналом сообщений экземпляра;
- отображение информации по ролям экземпляра БД;
- визуализация основных метрик производительности с возможностью создания собственных графиков, задания временных интервалов, исследования интересующих периодов на графиках для облегчения диагностики проблем;
- просмотр планов активных запросов;
- визуализация планов запросов;
- выполнение регламентных операций по обслуживанию объектов схемы БД: vacuum, analyze, reindex;
- возможность вызова утилиты командной строки PSQL из консоли;
- ролевая модель пользователей;
- диагностика производительности за период времени при помощи модуля pgpro_pwr;
- планирование регламентных задач.
Какие задачи администратор может решать при помощи PPEM
Задачи DBA можно разделить на четыре основных группы:
- Обслуживание / Конфигурирование
- Диагностика производительности
- Регламентные задачи
- Резервное копирование / Восстановление
Конфигурирование и обслуживание
Управление пользователями, ролями и привилегиями
В 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 непосредственно из браузера.
Визуализация схемы БД
В меню «Базы данных» экземпляра можно просмотреть список соответствующих БД, общую информацию о количестве таблиц и индексов, а, перейдя в конкретную БД, можно увидеть подробную информацию о схеме БД, таблицах, индексах, структуре и ограничениях.
Работа с параметрами экземпляра
На вкладке «Параметры» можно посмотреть или изменить значения настроечных параметров экземпляра. Для удобства можно воспользоваться прямым поиском по названию параметра или по категории (Autovacuum, Statistics, WAL и т.д.), либо установить переключатель «Показать не дефолтные», чтобы посмотреть параметры, значения которых менялись.
Управление подключениями
На вкладке «Аутентификация» можно управлять настройками подключения к экземпляру, просматривая или редактируя записи файла аутентификации pg_hba.conf.
Диагностика производительности
Графики метрик производительности
Postgres Pro Enterprise Manager не является классической системой мониторинга, но обеспечивает возможность визуализации различной статистики: основные графики производительности доступны на вкладке «Метрики», для удобства работы они сгруппированы в категории — пресеты. На экране метрик в PPEM представлено 25 готовых графиков, но их при необходимости можно дополнять, создавая свои собственные виджеты. Мастер создания графиков предложит множество метрик из дополнительного списка.
Опция масштабирования даёт администратору возможность «раскрыть» интересующий временной интервал (например, обнаруженную аномалию) на графике, а одновременный режим позволит выполнить это действие на всех связанных графиках, таким образом можно проследить корреляцию событий.
Просмотр статистики по SQL-запросам
Используя вкладку «SQL-статистика», администратор может просмотреть расширенную статистику по всем SQL-предложениям, выполняемым в экземпляре, включая возможность фильтрации по суммарному времени выполнения, количеству запусков, количеству обработанных строк и т.д. Также на этой вкладке можно посмотреть полный текст запроса в форматированном виде и с подсветкой синтаксиса.
Просмотр статистики по сессиям
На вкладке «Сессии» доступна статистика по всем процессам/сессиям, которые запущены в данном экземпляре: тип процесса, состояние, событие ожидания, какой запрос выполняется и т.д. Для удобства диагностики можно устанавливать фильтр по статусу сессии, например, показывать только активные, также при помощи селектора выбирать активность по определенной базе данных. Как и на странице SQL-статистики, доступна сортировка по различным полям и форматированный вывод текстов запросов.
Просмотр плана запроса
Для активных сессий доступна возможность просмотра плана запроса при помощи расширения pg_query state. При нажатии на соответствующую пиктограмму можно не только посмотреть актуальный план, по которому в данный момент происходит выполнение запроса, но и прогресс его выполнения по каждому шагу (с количеством обработанных строк). Можно обновлять информацию в окне: наблюдать за запросом в динамике и определять, сколько строк уже обработано по отношению к расчетному количеству. Далее, при помощи модуля визуализации, через меню «Визуализация» можно работать с удобным представлением плана запроса.
Профайлер нагрузки PGPRO_PWR
PPEM обеспечивает полную поддержку 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;
- информация о плане и прогрессе активного запроса;
- установка пресета настроек экземпляра для 1С;
- работа с исторической диагностикой через профайлер нагрузки PGPRO_PWR;
- создание кастомных графиков для метрик;
- добавление экземпляра при помощи режима автоматического обнаружения — discovery;
- масштабирование временных интервалов на графиках.
Также в недавних релизах РРЕМ мы существенно оптимизировали производительность приложения и доработали UI, а также добавили много полезных возможностей для DBA:
- экран с информацией о ролях экземпляра;
- возможность создания групп пользователей РРЕМ;
- поддержку LDAP;
- принудительное завершение сессии или запроса;
- возможность планирования регламентных задач;
- отображение настроек и статуса потоковой репликации;
- информацию о физической структуре хранения объектов (файловое представление, TOAST, параметры хранения).
Планы развития платформы
Мы продолжаем интегрировать различные механизмы диагностики, контроля и настройки производительности и другие возможности СУБД Postgres Pro в РРЕМ. Скоро мы планируем добавить:
- интеграцию с встроенной системой управления отказоустойчивыми кластерами — Postgres Pro BiHA;
- интеграцию всех возможностей резервного копирования pg_probackup;
- расширение функционала пресетов конфигурации экземпляров;
- отображение информации о блокировках;
- управление расширениями;
- интеграцию с распределённой системой управления базами данных — Postgres Pro Shardman;
- более гибкое управление расписаниями и дальнейшее усовершенствование UI/UX.
Тестовая версия и консультация
Чтобы получить консультацию по всем возможностям PPEM или протестировать платформу, напишите нам на presale@postgrespro.ru или оставьте заявку.
Еще больше о платформе — в нашем видео:
■
erid:LjN8JxzDpРекламодатель: компания ООО «ППГ»ИНН/ОГРН: 7729445882/1157746074518Сайт: https://postgrespro.ru/