bolt Valebyte VPS від $4/міс — NVMe, запуск за 60 секунд.

Отримати VPS arrow_forward

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

calendar_month May 08, 2026 schedule 9 хв. читання visibility 1953 переглядів
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.

Швидкий вибір
Шукаєте сервер, який просто працює?
Valebyte VPS — NVMe, підтримка 24/7, запуск за 60 секунд.
Тарифи VPS

Міграція з 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).

Швидкий вибір
Шукаєте сервер, який просто працює?
Valebyte VPS — NVMe, підтримка 24/7, запуск за 60 секунд.
Тарифи VPS

Висновки

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

SSD NVMe
Готові запустити свій VPS?

NVMe VPS з активацією за 60 секунд: повний root-доступ, 20+ локацій, оплата карткою або криптою.

Обрати тариф
support_agent
Valebyte Support
Usually replies within minutes
Hi there!
Send us a message and we'll reply as soon as possible.