Что такое Ivory?

Ivory — это бесплатный open-source инструмент с веб-интерфейсом, созданный для управления кластерами PostgreSQL, которые работают под контролем Patroni. Если раньше для таких задач приходилось использовать командную строку или Patroni API, то с Ivory всё можно делать через удобный браузерный интерфейс.

Цель проекта — упростить жизнь администраторам баз данных (DBA) и разработчикам:

  • убрать рутину,

  • сократить время на диагностику,

  • и сделать работу с кластерами более наглядной.

  • Мини-дашборды
    Для каждого экземпляра базы есть базовые метрики и графики. В будущем планируется более глубокая интеграция с Grafana.

Возможности Ivory

1. Общий обзор всех кластеров
В одном месте отображаются все ваши Patroni-кластеры: их состояние, роли узлов (master/replica), возможные ошибки. Это удобно, когда у вас не один, а несколько кластеров в разных окружениях.

2. Управление через интерфейс
Patroni поддерживает множество действий (switchover, failover, реинициализация узлов и т.д.), но в CLI их нужно вызывать вручную. Ivory переносит эти операции в UI — достаточно пары кликов, чтобы выполнить нужное действие.

3. Диагностика и SQL-запросы
Встроенный query builder позволяет:

  • запускать готовые диагностические SQL-запросы (например, проверить активные сессии, долгие транзакции или состояние репликации);

  • создавать и сохранять свои собственные шаблоны;

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

4. Работа с bloat-таблицами
PostgreSQL со временем накапливает «мусорные» страницы в таблицах (bloat). Ivory интегрирован с инструментом pgcompacttable и позволяет запускать очистку прямо из интерфейса.

5. Пароли и сертификаты
Ivory хранит все учетные данные централизованно. Это упрощает подключение к базам и Patroni API. Поддерживается также работа с сертификатами — если ваш Patroni требует mTLS, Ivory сможет к нему подключиться.

6. Мониторинг (в разработке)
Для каждого узла выводятся базовые метрики и простые графики. Пока это минимальный функционал, но уже полезный для быстрой оценки нагрузки. В будущем планируется полноценная интеграция с Grafana.

Как начать работу

  1. Установить Ivory проще всего через Docker:

    docker run -p 80:80 --restart always ghcr.io/veegres/ivory
  2. Перейти в браузере по адресу http://localhost:80.

  3. Пройти базовую настройку.

  4. Добавить кластеры Patroni (указать имя и адреса узлов).

  5. Получить единый интерфейс для работы и мониторинга.

Ivory можно запускать как локально (для личной работы), так и на отдельной виртуальной машине или сервере — тогда с ним сможет работать вся команда.

Когда Ivory особенно полезен?

  • У вас несколько PostgreSQL-кластеров в разных средах (dev, stage, prod).

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

  • Требуется централизованный инструмент для DBA-рутины.

  • Хочется меньше работать с CLI и больше пользоваться удобным UI.

Заключение

Ivory — это удобный, бесплатный и постоянно развивающийся инструмент для управления PostgreSQL-кластерами под Patroni. Он объединяет всё необходимое: мониторинг, управление, диагностику и очистку базы от «мусора». Благодаря простому интерфейсу Ivory экономит время и снижает вероятность ошибок.

Если вы работаете с PostgreSQL и используете Patroni, Ivory стоит попробовать — он заметно упростит вашу ежедневную работу.

Просьба поддержать проект вашей звездочкой на Github - это очень важно для дальнейшего развитя проекта.

P.S. это фактически перевод статьи с английского языка - https://anselvo.medium.com/troubleshoot-postgres-clusters-easily-with-ivory-eb0a6d61695a

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


  1. TolyaSergeev
    01.09.2025 12:58

    Удобная тулза, как нибудь установлю


  1. Alexzionx
    01.09.2025 12:58

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

    Звездочка+ :)


  1. Minashvili_George
    01.09.2025 12:58

    О круто, спасибо!


  1. AlexeyNikolaev
    01.09.2025 12:58

    Получиться использовать этот инструмент вместе с докер образом Spilo на базе patroni? Точнее для управления и мониторинга несколькими самостоятельными кластерами Spilo?