Ошибки, аптайм, трейсы, метрики и профили — на вашем сервере

Self-hosted observability в одном лёгком Go-бинарнике. Совместим со штатными Sentry SDK и OTLP. Открытый код, Apache-2.0.

$ git clone git@gitflic.ru:otezvikentiy/gotcha.git
$ cd gotcha
$ docker compose up -d

Поменяйте DSN в вашем Sentry SDK — и первая ошибка прилетит через секунды.

Gotcha — self-hosted платформа наблюдаемости в одном Go-бинарнике: трекинг ошибок, распределённый трейсинг, метрики, профилирование и мониторинг аптайма — всё на вашем сервере. Совместим со штатными Sentry SDK и принимает OTLP, поэтому переезд с облака занимает столько же времени, сколько смена DSN. Интерфейс, уведомления и документация — полностью на русском и английском. Открытый код, лицензия Apache-2.0.

Error tracking

Приём событий по протоколу Sentry SDK, автоматическая группировка в issues.

  • Стектрейсы, breadcrumbs, tags и contexts
  • Полные детали запроса — метод, URL, параметры, заголовки (очищенные от PII)
  • Автоматическая группировка, фильтры и назначение issue
Подробнее в документации →
Список issues в Gotcha

Uptime-мониторинг

HTTP-чеки из встроенного локального региона и удалённых зондов (probes).

  • Разбивка задержек по фазам: DNS → TCP → TLS → TTFB
  • Ретраи на чек и окна обслуживания — без ложных инцидентов
  • Публичные статус-страницы с историей 90 дней
  • Удалённые probes (--mode=probe)
Подробнее в документации →
Uptime-мониторы и статус-страница

Performance / tracing

Распределённые трейсы и транзакции, Web Vitals, детект перф-проблем по имени: N+1, медленный запрос, HTTP-флуд.

  • Детекторы называют проблему и объясняют, как чинить — с полным SQL и локацией в коде
  • Web Vitals: LCP, INP, CLS, FCP, TTFB
  • Детект регрессий производительности
Подробнее в документации →
Трейс транзакции в Gotcha

Metrics

Приём метрик через OTLP, запросы к метрикам.

  • Ingestion через OTLP
  • Пороговые алерт-правила и инциденты
  • Защита от взрыва кардинальности
Подробнее в документации →
Дашборд метрик

Profiling

CPU/flamegraph-профили из Sentry profiling payloads и pprof.

  • Flamegraph из Sentry-профилей и pprof
  • Детект регрессий профилей
Подробнее в документации →
Flamegraph-профиль

Alerting

Доставка алертов в email, webhook и Telegram — на русском или английском, по выбору оператора.

  • Правила на новые issue, спайки, пороги метрик, перф- и uptime-регрессии
  • Тест канала в один клик — с причиной ошибки, если доставка не прошла
  • Свой Bot API-сервер для Telegram в закрытых сетях
Подробнее в документации →
Правила алертов

SSO и RBAC

Мультитенантные организации, команды и роли; вход через SSO.

  • OIDC (generic), Yandex ID, VK ID
  • Организации, команды, роли
  • Каждый провайдер настраивается независимо
Подробнее в документации →
Настройки SSO

Privacy by default

Server-side скрабинг PII и SSRF-защита исходящих запросов — включены по умолчанию.

  • Обнуление IP/email
  • Redaction по ключам
  • SSRF-защита webhook/uptime
Подробнее в документации →
Настройки приватности

Эксплуатация без сюрпризов

Gotcha построен для того, кто его обслуживает: следит сам за собой, обновляется в обе стороны и живёт в заданных лимитах.

  • Self-monitoring: метрики gotcha_*, раздельные /healthz и /readyz
  • Откат релиза без восстановления из бэкапа
  • Квоты, rate limit и retention по каждому типу сигнала
  • Документированные бэкап, восстановление и обновление
Подробнее в документации →
Эксплуатация Gotcha: self-monitoring, обновления и откаты, лимиты

Как устроено

Один Go-бинарник, PostgreSQL + ClickHouse. Режимы --mode=ingest|web|uptime|probe|all для масштабирования. Без Kafka и Redis. Настраиваемая retention по каждому типу сигнала.

Системные требования

Один сервер, три процесса (приложение, PostgreSQL, ClickHouse). Единственная зависимость — Docker и Docker Compose.

Минимум 2 vCPU · 2 ГБ RAM · 20 ГБ SSD личные проекты, стейджинг
Рекомендуется 4 vCPU · 4 ГБ RAM · 40 ГБ SSD+ продакшен с реальным трафиком

ОС: Ubuntu 22.04/24.04 или Debian 12 · x86-64

Подробнее — установка

Открытый код

Лицензия Apache-2.0. Стек: Go, PostgreSQL, ClickHouse.

GitHub GitFlic ♥ Поддержать

Частые вопросы

Что такое Gotcha?

Gotcha — self-hosted платформа наблюдаемости в одном Go-бинарнике: трекинг ошибок, распределённый трейсинг, метрики, профилирование и мониторинг аптайма. Всё работает на вашем сервере. Открытый код, лицензия Apache-2.0.

Совместим ли Gotcha со штатным Sentry SDK?

Да. Gotcha принимает события по протоколу Sentry, поэтому достаточно указать в вашем Sentry SDK новый DSN — переезд занимает столько же времени, сколько смена DSN в уже настроенном приложении.

Можно ли перейти с Sentry на Gotcha без изменения кода?

Да. Gotcha принимает события по протоколу приёма Sentry, поэтому переезд сводится к замене DSN в том же официальном Sentry SDK — код приложения переписывать не нужно. Пошаговый разбор — в гайде «Как перейти с Sentry на self-hosted Gotcha».

Нужны ли Gotcha Kafka или Redis?

Нет. Gotcha работает как один Go-бинарник с PostgreSQL и ClickHouse — ни Kafka, ни Redis не требуется. Быстрый старт — docker compose up -d.

Какие сигналы наблюдаемости поддерживает Gotcha?

Ошибки с группировкой в issues, распределённые трейсы и транзакции (включая Web Vitals), метрики по OTLP с пороговыми алертами, CPU/flame-graph профили и мониторинг аптайма с публичными status-страницами.

Как развернуть Gotcha?

Gotcha — это один Go-бинарник, которому нужны PostgreSQL и ClickHouse. Быстрый старт — docker compose up -d. Для масштабирования есть режимы --mode=ingest|web|uptime|probe|all. Без Kafka и Redis.

Как обновлять Gotcha и можно ли откатиться?

Обновление — pull нового образа и перезапуск; миграции применяются автоматически. Схема БД несёт маркер обратной совместимости, поэтому откат на предыдущий релиз возможен без восстановления из бэкапа. Прерванную миграцию восстанавливает флаг --migrate-force. Подробности — на страницах «Обновление» и «Резервное копирование» в документации.

Есть ли у Gotcha русский интерфейс?

Да. Интерфейс, алерты и письма (язык задаётся настройкой GOTCHA_LOCALE) и вся документация доступны полностью на русском и английском.

Под какой лицензией распространяется Gotcha?

Apache-2.0. Исходный код открыт и доступен на GitHub и GitFlic.

Установить за минуту

Gotcha Cloud — скоро

Облачная версия в работе. Оставьте email, чтобы узнать о запуске.

В лист ожидания