Вышла Gotcha 1.0 — универсальная платформа для мониторинга, которая закрывает все потребности инженера в одном окне.
Проект, написанный на Go и доступный под лицензией Apache-2.0, объединяет в себе сразу несколько инструментов: от классического трекинга ошибок и сбора метрик до распределённых трейсов, профилирования и наблюдения за хостами. Платформа не ограничивается только технической стороной: в комплекте идёт функционал логирования, проверки доступности сервисов, а также возможность публиковать публичные статус-страницы. Установить решение можно даже на скромную машину — достаточно 2 vCPU и 2 ГБ оперативной памяти. При этом данные надёжно хранятся в связке PostgreSQL и ClickHouse.
Разработчики подчёркивают гибкость системы: она отлично уживается с экосистемой Sentry (поддерживая SDK-протокол приёма данных) и стандартом OTLP, что упрощает миграцию с других инструментов. Важно, что весь интерфейс, шаблоны писем и документация полностью переведены на русский и английский языки. Но главное новшество версии 1.0 — это официальная фиксация обратной совместимости. Отныне все ключевые элементы API (адреса приёма, форматы запросов и резервных копий, переменные окружения) будут меняться только в сторону обратной совместимости. Любые же кардинальные изменения отправятся в отдельную ветку развития 2.0. Для пользователей старых выпусков это означает лёгкое обновление без страха что-то сломать.
За время, прошедшее с предыдущих публикаций (версии 0.5–0.17), функциональность сильно расширилась. Среди заметных нововведений — умные «Группы инцидентов», которые собирают каскадные сбои в одну карточку, и система подавления уведомлений на основе графа зависимостей, чтобы не засыпать команду алертами при одной и той же проблеме. Появились готовые шаблоны коллектора для популярных технологий (PostgreSQL, nginx, Redis, Docker и MariaDB), а для администраторов доступна ротация мастер-ключа шифрования на лету, без остановки работы.
Для аналитиков добавили фоновую выгрузку ошибок в CSV/JSON/NDJSON с функцией маскировки персональных данных. Значительно повышена и безопасность: введено отдельное пространство имён `/api/v1/*` для приёма данных и новые типы DSN-ключей. Теперь, даже если браузерный ключ будет скомпрометирован, у злоумышленника не получится зарегистрировать новый хост. Кроме того, проект стал строже к настройке: если конфигурация содержит невыполнимое условие, процесс запуска просто остановится с понятной ошибкой, вместо того чтобы молча подставить значение по умолчанию.
Три ранее существовавших адреса Web API (`/logs`, `/profiles/pprof`, `/api/{project}/deployments/`) объявлены устаревшими, но продолжат работать вплоть до выхода следующего значительного релиза.
