Увидел свет выпуск проекта temBoard 8.0, развивающего web-интерфейс для удалённого управления, мониторинга, настройки и оптимизации СУБД PostgreSQL. Продукт включает в себя легковесный агент, устанавливаемый на каждый сервер с PostgreSQL, и серверный компонент, централизованно управляющий агентами и собирающий статистику для мониторинга. Код написан на языке Python и распространяется под свободной лицензией PostgreSQL License.
Основные особенности temBoard:
- Возможность управления через единый централизованный web-интерфейс сотнями экземпляров СУБД PostgreSQL.
- Наличие информационных экранов для оценки как общего состояния всех СУБД, так и более детальной оценки каждого экземпляра.
- Мониторинга за состоянием СУБД с использованием различных метрик.
- Поддержка управления выполняемыми сеансами.
- Отслеживание операций чистки (VACUUM) таблиц и индексов.
- Отслеживание медленных запросов к БД.
- Интерфейс для оптимизации настроек PostgreSQL.
В новой версии:
- Переработана аутентификация и организация канала связки между управляющим интерфейсом и агентами. Изменения привели к упрощению развёртывания агентов и повышению защищённости канала связи с ними. Все запросы к агентам теперь дополнительно заверяются цифровой подписью с использованием асимметричного шифрования по открытым ключам, а интерфейс выступает в роли провайдера идентификации для агентов. Аутентификация с использованием паролей, совместно задаваемых на стороне агента и интерфейса, больше не применяется. По паролям теперь осуществляется только организация подключения пользователей к интерфейсу.
- Предложен новый интерфейс командной строки. Отдельные утилиты temboard-migratedb и temboard-agent-register заменены на встроенные команды, вызываемые через исполняемые файлы temboard и temboard-agent. Добавлены встроенные команды для выполнения типовых операций администрирования и мониторинга из командной строки.
- Добавлена поддержка PostgreSQL 15, RHEL 9 и Debian 12. Прекращена поддержка PostgreSQL 9.4 и 9.5, а также Python 2.7 и 3.5.
- В temboard добавлена команда “register-instance” для регистрации
агентов, которая в отличие от команды “temboard-agent register”, выполняется на стороне сервера и не требует сетевой доступности агента, т.е. может использоваться для добавления новых экземпляров в в offline-режиме. - В агенте на 25% сокращено число транзакций, используемых для управления экземпляром PostgreSQL. Сокращения удалось добиться за счёт кэширования типовых значений и мультиплексирования задач.
- Размер хранимых данных мониторинга сокращён по умолчанию до 2 лет.
- Добавлена возможность загрузки данных инвентаризации в формате CSV.
- Обеспечен автоматический перезапуск фоновых процессов интерфейса и агента после аварийного завершения.
Дополнительно можно отметить выпуск инструментария Pyrseas 0.10.0, предназначенного для сопровождения СУБД PostgreSQL и автоматизации операций по обновлению структуры данных. Pyrseas преобразует стандартную схему со структурой БД и сопутствующие метаданные в формат YAML или JSON, более пригодный для использования в системах контроля версий. Используя представление в формате YAML, Pyrseas обеспечивает генерацию SQL для выполнения синхронизации структуры одной БД с другой (т.е. можно легко внести изменения в структуру и распространить их на другие БД). Код проекта написан на языке Python и распространяется под лицензией BSD.
Новый выпуск Pyrseas примечателен переходом на Psycopg 3, полностью переработанной ветки модуля для работы с PostgreSQL из программ на языке Python, поддерживающей асинхронное взаимодействие с СУБД и предоставляющего интерфейсы на базе DBAPI и asyncio. В новой версии также прекращена поддержка Python 2.x и из зависимостей удалён pgdbconn. Поддерживается работа с ветками PostgreSQL с 10 по 15.