Мониторинг активных сессий PostgreSQL в Grafana: практическое руководство

Для эффективного мониторинга и анализа производительности PostgreSQL, предлагается использовать Grafana для визуализации истории активных сессий. Подход включает в себя создание партиционированной таблицы pg_stat_activity_history, которая регулярно пополняется данными из pg_stat_activity, фиксируя состояние сессий, их запросы и время ожидания. Партиционирование таблицы по времени обеспечивает более эффективное управление данными и их удаление.
Мониторинг активных сессий PostgreSQL в Grafana: практическое руководство
Изображение носит иллюстративный характер

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

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

Для использования данного решения необходимо импортировать дашборд в Grafana, предварительно настроив подключение к Postgres и создав таблицу pg_stat_activity_history по предоставленным скриптам. Это позволит администраторам БД быстро выявлять проблемные моменты и отслеживать производительность PostgreSQL с использованием инструментов мониторинга.


Новое на сайте

19521Банковский троян VENON на Rust атакует Бразилию с помощью девяти техник обхода защиты 19520Бонобо агрессивны не меньше шимпанзе, но всё решают самки 19519Почему 600-килограммовый зонд NASA падает на Землю из-за солнечной активности? 19518«Липовый календарь»: как расписание превращает работников в расходный материал 19517Вредоносные Rust-пакеты и ИИ-бот крадут секреты разработчиков через CI/CD-пайплайны 19516Как хакеры за 72 часа превратили npm-пакет в ключ от целого облака AWS 19515Как WebDAV-диск и поддельная капча помогают обойти антивирус? 19514Могут ли простые числа скрываться внутри чёрных дыр? 19513Метеорит пробил крышу дома в Германии — откуда взялся огненный шар над Европой? 19512Уязвимости LeakyLooker в Google Looker Studio открывали доступ к чужим базам данных 19511Почему тысячи серверов оказываются открытой дверью для хакеров, хотя могли бы ею не быть? 19510Как исследователи за четыре минуты заставили ИИ-браузер Perplexity Comet попасться на... 19509Может ли женщина без влагалища и шейки матки зачать ребёнка естественным путём? 19508Зачем учёные из Вены создали QR-код, который невозможно увидеть без электронного... 19507Девять уязвимостей CrackArmor позволяют получить root-доступ через модуль безопасности...
Ссылка