Панель управления страницей pg_monitor
Эта страница содержит основные элементы управления и отображения модуля Расширенной аналитики.
Панель навигации страницы pg_monitor
Перейти к модулю Расширенной аналитики можно одним из следующих способов:
Для работы модуля требуются расширения pg_stat_statements, pg_store_plans и auto_explain, а также определенные значения параметров конфигурации. При входе на страницу Платформа автоматически проверит текущие настройки. Если расширения не установлены или параметры конфигурации не соответствуют требуемым, Платформа предложит выполнить автоматическую настройку:
Рассмотрим элементы верхней панели модуля:
Текущая дата. Чтобы изменить дату, щелкните на текстовое поле с датой и выберите нужное число в календаре.
Кнопка «Логи» открывает страницу анализатора логов.
Бургер-меню с ссылками на основные категории проблемных запросов. Рядом с каждым пунктом стоит число — количество таких запросов для текущего экземпляра. Пункты меню, где нет чисел, некликабельны.
Бургер-меню содержит следующие пункты:
«Проблемные запросы» — все запросы к базе данных, оказывающие негативные эффекты на производительность, эффективность или надежность работы системы. Эти проблемы могут быть связаны с различными аспектами, такими как долгое выполнение запроса, высокая нагрузка на сервер базы данных, неоптимальные планы выполнения запросов и другие.
Мегазапросы — запросы, превышающие 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» — список параметров конфигурации экземпляра, в том числе параметров всех загруженных библиотек.
IP-адрес сервера, на котором находится текущий экземпляр. Через «/» может быть указано название страницы, на которой вы находитесь. Щелкните по IP-адресу, чтобы открыть список доступных адресов.
Панель выбора временного интервала для заданного дня. Она позволяет:
сместить временной интервал кнопками [<], [>]. Например, при выбранном шаге 5 мин (5m) оба значения границы временного участка получат модификатор +5 мин;
самостоятельно задать значения границ временного интервала. Это можно сделать двумя способами:
ввести значения в текстовые поля;
кликнуть на текстовые поля и выбрать нужные значения часов, минут или секунд ползунками.
Фильтр для сортировки содержимого страницы по текстовым полям. Например, по названию базы данных или тексту запроса.
Следующая панель включает вкладки:
PSA (pg_stat_activity) — на этой вкладке представлена информация по процессам — всем подключениям к базам данных в рамках экземпляра.
PSA apps — конкретные приложения pg_stat_activity, которые обращаются к базе. На этой вкладке представлена информация по каждому приложению, подключенному к базам данных.
PSA heatmap («тепловая карта») — встроенное в pg_stat_activity графическое представление данных, где индивидуальные значения в таблице отображаются при помощи цвета.
pidstat (сокращение от Process ID Statistics) — утилита, используемая для мониторинга процессов БД в режиме реального времени. Это инструментальное средство выдает различные статистические данные по процессу, в том числе об использовании процессора, об использовании процессом дискового пространства или о потоках, связанных с выбранными задачами и дочерними процессами.
Счётчик процессов:
active — количество активных на данном сервере процессов;
idle — количество процессов, находящихся в неактивном состоянии;
wait — количество процессов, находящихся в состоянии ожидания;
всего — общее количество процессов на сервере, происходящих в течение периода, выбранного на панели временного интервала.