hostprofi.ru
Подобрать хостинг
Термин·буква S

Sentry

краткое определение

Sentry — платформа мониторинга ошибок и производительности приложений (APM). Отслеживает исключения в коде, собирает stack trace, группирует повторяющиеся ошибки и отправляет уведомления разработчику. Поддерживает Python, PHP, JavaScript, Go и 30+ других языков.

Sentry — инструмент мониторинга ошибок (error tracking) и производительности приложений (Application Performance Monitoring, APM). Захватывает исключения, необработанные ошибки и медленные транзакции в реальном времени, автоматически группирует похожие ошибки, добавляет контекст (stack trace, переменные, HTTP-запрос, пользователь) и уведомляет команду разработчиков.

Как работает

Sentry SDK встраивается в приложение через пакетный менеджер и инициализируется с DSN-ключом:

# Python
pip install --upgrade sentry-sdk
import sentry_sdk
sentry_sdk.init(dsn="https://...@sentry.io/PROJECT_ID")

# PHP
composer require sentry/sentry
\Sentry\init(['dsn' => 'https://...@sentry.io/PROJECT_ID']);

# JavaScript (Node.js/React)
npm install @sentry/node
Sentry.init({ dsn: 'https://...@sentry.io/PROJECT_ID' });

После инициализации SDK автоматически перехватывает необработанные исключения и отправляет событие на Sentry-сервер (cloud или self-hosted). Каждое событие содержит: полный стек вызовов (stack trace) с подсвеченными строками кода, переменные окружения в момент ошибки, HTTP-запрос (URL, headers, body), информацию о пользователе (ID, email, IP), версию релиза и окружение (production/staging).

Sentry группирует похожие ошибки в Issues по «fingerprint» — набору признаков, идентифицирующих уникальную проблему. Одна ошибка в 100 000 запросах создаёт одну Issue, а не 100 000 событий. Алертинг: уведомления в Slack, email, PagerDuty при новых Issues или при превышении частоты ошибок.

Performance Monitoring (APM)

Sentry Performance отслеживает транзакции (каждый HTTP-запрос или операция) и их компоненты: время SQL-запросов, вызовов к сторонним API, рендеринга шаблонов. Distributed tracing — связывает запросы через несколько сервисов (frontend → API → microservices) в единую трассу. Это позволяет найти, в каком именно сервисе возникает задержка.

История

Sentry создан Дэвидом Кремером в 2008 году как Django-плагин для логирования ошибок внутри компании Disqus. В 2012 году выпущен как open-source проект под лицензией BSD. Компания Functional Software создана для коммерческой версии Sentry в 2015 году. К 2024 году Sentry — крупнейший независимый error tracking инструмент: более 4 млн разработчиков, 90 000 организаций. Self-hosted версия (Docker Compose) доступна бесплатно, cloud-версия имеет бесплатный план (5 000 ошибок в месяц).

Sentry vs альтернативы

ИнструментФокусSelf-hostedЦена
SentryОшибки + APMДа (Docker)Freemium
DatadogИнфраструктура + APMНет$15+/хост/мес.
New RelicПолная видимостьНетFreemium
BugsnagОшибкиНетFreemium

На что обращать внимание

При self-hosted установке Sentry через Docker Compose требуется минимум 4 ГБ RAM — не подходит для маленьких VPS. Используйте environment-разделение: development, staging, production — чтобы ошибки разработки не загрязняли production Issues. Настройте sample rate для Performance (traces_sample_rate=0.1) на нагруженных сервисах — иначе стоимость cloud-плана вырастет непропорционально. Sentry DSN-ключ должен быть в переменных окружения, не в коде репозитория.

Sentry self-hosted

Sentry self-hosted разворачивается через Docker Compose на VPS: минимум 4 ГБ ОЗУ, 20 ГБ SSD. Поддерживает Python, JavaScript, Java, PHP, Ruby, Go, iOS, Android. Альтернативы: Datadog APM (дороже, шире функционал), New Relic (SaaS, проще setup), GlitchTip (open-source Sentry-совместимый). На Linux-сервере: git clone https://github.com/getsentry/self-hosted./install.sh → 30 минут установки. Sentry интегрируется с GitLab CI и GitHub Actions для Release tracking: каждый деплой создаёт Release, ошибки привязываются к конкретному коммиту.

Другие термины