bolt Valebyte VPS from $4/mo — NVMe, 60s deploy.

Get a VPS arrow_forward

Self-hosted Sentry: error tracking без підписки $30+

calendar_month May 08, 2026 schedule 6 хв. читання visibility 335 переглядів
person
Valebyte Team
Self-hosted Sentry: error tracking без підписки $30+
summarize

TL;DR

  • Self-hosted Sentry заощаджує від $29 на місяць та гарантує зберігання даних всередині вашого контуру (152-ФЗ).
  • Мінімальні вимоги для 10–20 проектів: 8 ГБ RAM, 4 vCPU та 80 ГБ NVMe SSD для захисту від OOM Killer.
  • Використання NVMe SSD обов'язкове: повільні диски викликають затримки в роботі Kafka та ClickHouse.
  • Архітектура складається з 25+ мікросервісів, тому запуск на серверах з 4 ГБ RAM технічно неможливий.
Для стабільної роботи sentry self hosted на 10-20 проєктів з обсягом до 50 000 подій на місяць знадобиться VPS з мінімум 8 GB RAM, 4 vCPU та 80 GB NVMe-диска, що дозволяє повністю відмовитися від підписки Sentry.io вартістю від $29/міс та отримати повний контроль над даними.

Sentry — це індустріальний стандарт для моніторингу помилок та продуктивності застосунків (APM). Однак цінова політика SaaS-версії часто стає бар'єром для команд, що ростуть: початковий платний тариф стартує від $29, а бізнес-план — від $249 на місяць. Перехід на sentry on premise дозволяє не тільки заощадити бюджет, але й дотриматися вимог безпеки (GDPR, 152-ФЗ), оскільки трейси помилок та дані користувачів не покидають ваш контур.

Вимоги до заліза: чому sentry self hosted потребує 8GB RAM?

Розгортання свій sentry — це не просто запуск одного контейнера. Сучасна архітектура Sentry складається з 25+ мікросервісів, включаючи такі великовагові компоненти, як Kafka, ClickHouse та Snuba. Спроба запустити систему на сервері з 4 GB RAM призведе до неминучого спрацювання OOM Killer у перші ж години роботи.

Мінімальні та рекомендовані характеристики VPS

Для комфортної роботи error tracking vps повинен мати запас ресурсів. Нижче наведено вимоги, засновані на реальних бенчмарках при навантаженні 10-15 подій на секунду (EPS).

Характеристика Мінімум (Dev/Small) Рекомендовано (Production) High Load (100+ EPS)
CPU (vCores) 4 Cores (2.5 GHz+) 8 Cores 16+ Cores
RAM 8 GB 16 GB 32 GB+
Disk Type NVMe SSD NVMe SSD (RAID 1) NVMe SSD (Enterprise)
Disk Space 80 GB 200 GB 500 GB+
ОС Ubuntu 22.04 LTS Debian 12 / Ubuntu 24.04 Debian 12

Важливо розуміти, що ClickHouse та Kafka дуже чутливі до швидкості дискової підсистеми. Використання звичайних HDD або повільних мережевих дисків призведе до величезних затримок (lag) в обробці подій. Якщо ви плануєте зберігати логи довго, ознайомтеся з темою переїзду з AWS Lightsail на виділені сервери, щоб отримати максимальний IOPS за ті ж гроші.

Архітектура sentry on premise: ClickHouse, Postgres та Kafka

Сучасний sentry on premise відійшов від простої моделі "Postgres + Redis". Тепер це складний конвеєр обробки даних. Розуміння його пристрою критично для траблшутінгу та налаштування retention-політик.

Роль компонентів у стеку

  • PostgreSQL: Зберігає метадані — користувачів, налаштування проєктів, ключі API, структуру команд. Самі помилки тут не лежать.
  • Redis: Використовується як брокер для Celery-задач та кешування проміжних даних.
  • Kafka: Виступає в ролі буфера. Всі вхідні події спочатку потрапляють в Kafka, що дозволяє Sentry витримувати пікові навантаження без втрати даних.
  • ClickHouse: Головне сховище всіх подій та таймінгів. Саме завдяки йому Sentry миттєво будує графіки по мільйонам записів.
  • Snuba: Сервіс-прошарок, який переводить запити Sentry в SQL-запити для ClickHouse.
  • Symbolicator: Обробляє нативні стектрейси (C++, Rust, Android) та зіставляє їх з символами відладки.

Такий поділ дозволяє масштабувати error tracking vps горизонтально, але на одному сервері вимагає жорсткого лімітування ресурсів для кожного Docker-контейнера. Якщо ви будуєте комплексну систему моніторингу, можливо, вам також буде цікаво впровадити self-hosted аналітику без Google для повної незалежності стека.

Шукаєте надійний сервер для ваших проєктів?

VPS від $10/міс та виділені сервери від $9/міс з NVMe, DDoS-захистом та підтримкою 24/7.

Дивитись пропозиції →

Покрокова установка через sentry docker compose

Офіційний спосіб розгортання — репозиторій getsentry/self-hosted. Це набір скриптів, які автоматизують налаштування sentry docker оточення, створення мереж та томів.

Крок 1: Підготовка системи

Оновіть пакети та встановіть необхідні залежності. Вам знадобляться Docker та Docker Compose (плагін V2).

sudo apt update && sudo apt upgrade -y
sudo apt install -y git curl build-essential

# Установка Docker
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh

Крок 2: Клонування та налаштування

Ми будемо використовувати останню стабільну версію. Не рекомендується використовувати гілку master для продакшена.

git clone https://github.com/getsentry/self-hosted.git
cd self-hosted

# Перевірка відповідності системним вимогам
# Скрипт install.sh сам перевірить RAM, але краще переконатися заздалегідь

Крок 3: Запуск інсталятора

Скрипт ./install.sh виконає міграції бази даних, налаштує Kafka топіки та створить користувача адміністратора. Процес займає від 10 до 20 хвилин в залежності від швидкості диска та процесора.

./install.sh

Під час встановлення вас попросять створити обліковий запис адміністратора. Обов'язково збережіть ці дані. Після завершення запустіть контейнери:

docker compose up -d

Після запуску ваш свій sentry буде доступний за адресою http://IP_ВАШОГО_СЕРВЕРА:9000. Для роботи в продакшені вкрай рекомендується налаштувати Reverse Proxy (Nginx або Traefik) з підтримкою SSL. Безпека доступу до панелі управління так само важлива, як і захист паролів у команді через self-hosted Vaultwarden.

rocket_launch Quick pick

Looking for a server that just works?

Valebyte VPS — NVMe, 24/7 support, deploy in 60 seconds.

View VPS plans arrow_forward

Міграція з SaaS (Sentry.io) на свій VPS

Багато команд починають з безкоштовного або дешевого тарифу на Sentry.io, але з часом впираються в ліміти. Перенести дані з хмари в sentry self hosted можна, але з певними нюансами. Прямого імпорту бази "однією кнопкою" не існує через відмінності у версіях API та архітектурі ClickHouse в хмарі.

Експорт через API та CLI

Основний спосіб міграції — використання вбудованої команди export. Однак вона переносить тільки структуру (проєкти, команди, ключі), але не самі історичні події помилок.

  1. Створіть Auth Token в панелі Sentry.io з правами org:read.
  2. Використовуйте Docker-контейнер Sentry для виконання експорту:
    docker compose run --rm web export /home/sentry-export.json
  3. Для хмарної версії доведеться використовувати API для вивантаження налаштувань проєктів і відтворення їх локально через Terraform або кастомні скрипти на Python.

Зміна DSN: критичний етап

Після підняття sentry on premise у вас зміняться DSN (Data Source Name) для всіх проєктів. Вам доведеться оновити конфіги у всіх мікросервісах та фронтенд-застосунках. Якщо у вас багато проєктів на Next.js, процес можна автоматизувати, дотримуючись принципів міграції Next.js на свій VPS.

Порада: Не видаляйте одразу аккаунт в Sentry.io. Залиште його як fallback на 2 тижні, поки всі клієнти не оновлять закешовані DSN у своїх браузерах або застосунках.

Налаштування Retention: як не забити диск логами

За замовчуванням sentry docker зберігає події 90 днів. При великому потоці помилок (наприклад, зациклений фронтенд-баг у тисяч користувачів) ClickHouse може швидко "з'їсти" все вільне місце на NVMe.

Зміна терміну зберігання даних

Налаштування retention задаються у файлі .env або безпосередньо в конфігурації Snuba. Щоб змінити термін зберігання на 30 днів (оптимально для більшості), відредагуйте змінні:

# В файлі .env в директорії self-hosted
SENTRY_EVENT_RETENTION_DAYS=30

Після зміни необхідно перезапустити контейнери та дочекатися відпрацювання worker-ів, які очищають старі партиції в ClickHouse.

Очищення невикористовуваних даних

Іноді Docker-томи починають займати занадто багато місця через логи самих контейнерів. Використовуйте команду для очищення:

docker system prune -a --volumes --filter "label!=com.docker.compose.project=self-hosted"

Також корисно налаштувати ротацію логів Docker в /etc/docker/daemon.json, щоб один контейнер не міг створити лог-файл на 50 GB.

Оптимізація продуктивності та тюнінг ClickHouse

Якщо ваш error tracking vps починає гальмувати, в першу чергу перевірте споживання пам'яті ClickHouse. За замовчуванням він намагається зайняти до 50% доступної RAM. В умовах 8-16 GB сервера це може призвести до конфліктів з Kafka.

У файлі clickhouse/config.xml можна обмежити використання ресурсів:

<max_server_memory_usage>4000000000</max_server_memory_usage>
<max_thread_pool_size>8</max_thread_pool_size>

Для розробників, які активно використовують AI для виправлення знайдених в Sentry багів, відмінним доповненням стане зв'язка Continue.dev + Ollama, розгорнута на тому ж або сусідньому сервері. Це дозволяє аналізувати трейси помилок локальною нейромережею без відправки коду у зовнішній світ.

Моніторинг черг Kafka

Якщо помилки з'являються в інтерфейсі із затримкою в кілька хвилин, значить Kafka не встигає обробляти потік. Перевірити це можна командою:

docker compose run --rm kafka kafka-consumer-groups --bootstrap-server kafka:9092 --describe --group snuba-consumers

Якщо поле LAG росте, вам потрібно або збільшувати кількість ядер CPU, або оптимізувати кількість відправлених подій на стороні клієнта (sampling).

rocket_launch Quick pick

Looking for a server that just works?

Valebyte VPS — NVMe, 24/7 support, deploy in 60 seconds.

View VPS plans arrow_forward

Висновки

Self-hosted Sentry — це потужне рішення, яке окупається вже в перший місяць при наявності більше 3-х активних проєктів, вимагаючи лише якісний VPS з 8-16 GB RAM. Для стабільної роботи критично використовувати NVMe-диски і налаштувати retention-політику на 14-30 днів, щоб уникнути переповнення сховища ClickHouse. Рекомендується розгортати Sentry на чистій ОС Ubuntu 22.04 через офіційний інсталятор, попередньо налаштувавши Reverse Proxy для захисту даних.

Готові обрати сервер?

VPS та виділені сервери в 72+ країнах з миттєвою активацією та повним root-доступом.

Почати зараз →
support_agent
Valebyte Support
Usually replies within minutes
Hi there!
Send us a message and we'll reply as soon as possible.