Dasha анализирует состояние кластеров PostgreSQL, выявляет проблемы и даёт рекомендации по оптимизации.

Запросы и снимки статистики

Топ-10 запросов по времени выполнения и по объёму WAL, отчёт по запросам со строками, вызовами, временем планирования и выполнения, cache hit ratio, WAL, временными буферами и вкладом в общую нагрузку в процентах. Отдельно выводятся активные и заблокированные запросы, статус pg_stat_statements и время сброса статистики.

Снимки pg_stat_statements сохраняются в отдельную базу-хранилище. Сравнение показывает два снимка либо снимок и live-данные в двух колонках с сортировкой по любой метрике.

Снимки создаются и автоматически. Демон срабатывает по двум триггерам: всплеск активности, когда число активных сессий превышает скользящий baseline на заданный процент в течение заданного времени, и смена роли master <-> replica. Пороги и ретеншен задаются для каждого кластера из интерфейса. По триггеру всплеска вместе со статистикой сохраняется граф блокировок pg_blocking_pids.

Индексы и таблицы

По индексам: top-K по размеру, оценка bloat, обнаружение дубликатов, невалидные и не готовые индексы, три алгоритма поиска похожих, B-tree по столбцам-массивам, статистика использования и cache hit rate.

Неиспользуемые индексы анализируются по кластеру целиком: счётчик сканов суммируется по всем хостам и взвешивается по окну статистики, поскольку idx_scan не реплицируется, а счётчик без окна наблюдения неинформативен. Отдельный отчёт показывает горячие индексы - дельта-снимки активности по чтениям и физическому I/O, просуммированные по хостам кластера.

По таблицам: top-K по размеру с разбивкой TOAST, соотношение последовательного и индексного сканирования, cache hit rate, партиционирование, кастомные параметры хранения. Карточка таблицы содержит колонки, индексы, ограничения, bloat, партиции, статистику вакуума с расчётными порогами, оценку размера строки и кандидатов в TOAST.

Горячие таблицы строятся на дельта-снимках по чтениям, записям и физическому I/O с разбивкой по хостам.

Обслуживание, соединения, блокировки

Сводка автовакуума показывает число таблиц, превысивших пороги срабатывания автовакуума и автоанализа; формула учитывает переопределения в reloptions.

Прогресс отслеживается для ANALYZE, VACUUM, CLUSTER, VACUUM FULL, CREATE INDEX и BASE BACKUP.

Соединения разложены по состояниям и источникам, активные сессии выводятся с деталями из pg_stat_activity, wait events группируются по типу и событию. Блокировки визуализируются деревом.

Health Score

Композитная оценка инстанса от 0 до 100 по восьми категориям: соединения, производительность, хранилище, репликация, обслуживание, горизонт, WAL и чекпоинты, блокировки. Штрафные функции непрерывные, оценка раскрывается по категориям.

Движок правил формирует приоритизированные рекомендации: severity, значения метрик. При настроенном источнике Prometheus или VictoriaMetrics оценка, рекомендации и тренд считаются по временным рядам с сезонным базлайном и детекцией провалов; без него используется SQL-снимок.

Логи managed-кластеров

Для кластеров Yandex MDB, доступен поиск по логам PostgreSQL и пулера соединений Odyssey. Логи читаются через API облака. Есть режим дедупликации и визуализация гистограммой.


Исходный код, документация и демо-окружение с несколькими кластерами, репликацией и генератором нагрузки

Комментарии (1)


  1. chemtech
    24.07.2026 11:43

    Теперь можно pghero выкидывать