Панель управления страницей pg_monitor

Эта страница содержит основные элементы управления и отображения модуля Расширенной аналитики.

Панель навигации страницы pg_monitor

Перейти к модулю Расширенной аналитики можно одним из следующих способов:

  1. В списке экземпляров рабочего пространства в меню нужного экземпляра выберите пункт «Открыть расширенную аналитику».

  2. Перейдите на страницу «Обзор» экземпляра, в меню слева выберите пункт «Расширенная аналитика».

Для работы модуля требуются расширения pg_stat_statements, pg_store_plans и auto_explain, а также определенные значения параметров конфигурации. При входе на страницу Платформа автоматически проверит текущие настройки. Если расширения не установлены или параметры конфигурации не соответствуют требуемым, Платформа предложит выполнить автоматическую настройку:

  • для установки расширений нажмите на кнопку «Активировать расширения»:

  • для изменения значений параметров нажмите на кнопку «Применить изменения»:

Примечание

После внесения изменений может потребоваться перезапуск PostgreSQL.

Рассмотрим элементы верхней панели модуля:

  1. Текущая дата. Чтобы изменить дату, щелкните на текстовое поле с датой и выберите нужное число в календаре.

  2. Кнопка «Логи» открывает страницу анализатора логов.

  3. Бургер-меню с ссылками на основные категории проблемных запросов. Рядом с каждым пунктом стоит число — количество таких запросов для текущего экземпляра. Пункты меню, где нет чисел, некликабельны.

    Бургер-меню содержит следующие пункты:

    • «Проблемные запросы» — все запросы к базе данных, оказывающие негативные эффекты на производительность, эффективность или надежность работы системы. Эти проблемы могут быть связаны с различными аспектами, такими как долгое выполнение запроса, высокая нагрузка на сервер базы данных, неоптимальные планы выполнения запросов и другие.

    • Мегазапросы — запросы, превышающие 1МБ входящего или исходящего трафика и превышающие время log_min_duration_statement или pg_store_plans.min_duration.

    • Блокировки («lock») — механизмы, которые временно дают доступ к определенным ресурсам данных только одной транзакции, чтобы предотвратить одновременное изменение этих данных другими транзакциями. В случае неправильного использования блокировок может возникнуть взаимная блокировка («deadlock») — ситуация, когда две или более транзакции блокируют друг друга, ожидая освобождения ресурсов.

    • Ошибки — ситуации, когда запрос к базе данных не может быть выполнен из-за определённых проблем:

      • «FATAL» («Фатальная ошибка») — является критической и приводит к прерыванию выполнения запроса или транзакции. Фатальная ошибка может возникнуть, например, из-за отсутствия необходимых ресурсов или обращения к базе под несуществующей ролью.

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

      • «WARNING» («Предупреждение») — указывает на потенциальные проблемы или нежелательные события, но не прерывает выполнение запроса.

    • Блок «Системные действия» включает:

      • «запросы» (pg_stat_activity) — мониторинг состояния запросов на сервере с точки зрения вида pg_stat_acitivity. Страница содержит следующие вкладки:

        • PSA (pg_stat_activity) — информация по процессам всем подключениям к базам данных в рамках экземпляра;

        • PSA apps — конкретные приложения pg_stat_activity, которые обращаются к базе. На этой вкладке представлена информация по каждому приложению, подключенному к базам данных.

      • «процессы» —

      • «Статистика по таблицам».

      • «ANALYZE» — процесс сбора статистики по базам данных Postgres;

      • «VACUUM» — процесс, необходимый при обновлении или удалении записей таблицы для корректного чтения и учёта совершённых изменений. Он освобождает память, занятую «мёртвыми кортежами» — структурами данных, удаленными или устаревшими в результате обновления, которые физически не удаляются из таблицы без этого процесса. При различных параметрах VACUUM работает по-разному.

      • «CHECKPOINT» — «контрольные точки», расставляемые при вставке в таблицу большого количества записей или выполнении длинных транзакций. Они позволяют записывать большой объём данных «порциями», чтобы не нагружать дисковую систему. Эти порции могут распределяться как по объёму вставляемых данных, так и по временным интервалам вставки. Контрольные точки рассчитываются так, чтобы они не превышали «write buffers» — параметр, настраиваемый в конфигурации Postgres или регулируемый в настройках параметров операционной системы.

      • «PG config» — список параметров конфигурации экземпляра, в том числе параметров всех загруженных библиотек.

  4. IP-адрес сервера, на котором находится текущий экземпляр. Через «/» может быть указано название страницы, на которой вы находитесь. Щелкните по IP-адресу, чтобы открыть список доступных адресов.

  5. Панель выбора временного интервала для заданного дня. Она позволяет:

    • сместить временной интервал кнопками [<], [>]. Например, при выбранном шаге 5 мин (5m) оба значения границы временного участка получат модификатор +5 мин;

    • самостоятельно задать значения границ временного интервала. Это можно сделать двумя способами:

      • ввести значения в текстовые поля;

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

  6. Фильтр для сортировки содержимого страницы по текстовым полям. Например, по названию базы данных или тексту запроса.

Следующая панель включает вкладки:

  1. PSA (pg_stat_activity) — на этой вкладке представлена информация по процессам — всем подключениям к базам данных в рамках экземпляра.

  2. PSA apps — конкретные приложения pg_stat_activity, которые обращаются к базе. На этой вкладке представлена информация по каждому приложению, подключенному к базам данных.

  3. PSA heatmap («тепловая карта») — встроенное в pg_stat_activity графическое представление данных, где индивидуальные значения в таблице отображаются при помощи цвета.

  4. pidstat (сокращение от Process ID Statistics) — утилита, используемая для мониторинга процессов БД в режиме реального времени. Это инструментальное средство выдает различные статистические данные по процессу, в том числе об использовании процессора, об использовании процессом дискового пространства или о потоках, связанных с выбранными задачами и дочерними процессами.

  5. Счётчик процессов:

    • active — количество активных на данном сервере процессов;

    • idle — количество процессов, находящихся в неактивном состоянии;

    • wait — количество процессов, находящихся в состоянии ожидания;

    • всего — общее количество процессов на сервере, происходящих в течение периода, выбранного на панели временного интервала.