Трекинг ошибок
errors понимает протокол приёма Sentry: официальные SDK отправляют прямо на
errors.xvii.network. Внешний аккаунт Sentry не нужен.
Подключите приложение
Создайте проект в errors и свяжите его с приложением: apps передаст приложению SENTRY_DSN,
SENTRY_RELEASE и SENTRY_ENVIRONMENT при следующем деплое, а каждый деплой станет релизом.
sentry.Init(sentry.ClientOptions{
Dsn: os.Getenv("SENTRY_DSN"),
Release: os.Getenv("SENTRY_RELEASE"),
Environment: os.Getenv("SENTRY_ENVIRONMENT"),
})
defer sentry.Flush(2 * time.Second)
import * as Sentry from "@sentry/node"
Sentry.init({ dsn: process.env.SENTRY_DSN, tracesSampleRate: 0 })
Инициализируйте только на сервере и не пускайте в браузерные бандлы.
import os, sentry_sdk
sentry_sdk.init(dsn=os.environ["SENTRY_DSN"], traces_sample_rate=0)
let _guard = sentry::init((std::env::var("SENTRY_DSN").ok(), sentry::ClientOptions {
release: sentry::release_name!(),
..Default::default()
}));
Держите guard живым всё время работы процесса.
Отправляйте неожиданные сбои (5xx, паники), а не ожидаемые вроде неверного пароля.
Статические сайты
Свяжите алиас pages с проектом: pages вставит https://errors.xvii.network/js/<key>.js во все HTML-страницы.
Скрипт сообщает о непойманных ошибках и отклонённых промисах; window.xviiErrors.capture(error) — вручную.
На других сайтах добавьте скрипт сами и разрешите его источник в script-src и connect-src вашей CSP.
Что происходит с событием
- Очистка: пароли, токены, cookie, ключи, номера карт и поля, заданные проектом, удаляются в любом месте
события, заголовках и строке запроса; IP из
{{auto}} отбрасываются; люди считаются по хешу.
- Группировка: по типу исключения и пяти ближайшим кадрам вашего кода (без номеров строк), иначе по типу и
нормализованному сообщению.
fingerprint из SDK важнее.
- Задачи: открытые, решённые (или решённые в следующем релизе), игнорируемые (навсегда или на N событий).
Новые и вернувшиеся задачи, а также всплески уходят в notify.
Выключите трассировку и replay: errors принимает и отбрасывает транзакции и replay. А тела запросов, cookie и
заголовки авторизации лучше вообще не отправлять.
Ограничения частоты
Сверх лимита проекта в минуту или месячного errors.events команды приём отвечает 429 с заголовками
ограничения частоты Sentry, и SDK притормаживают.
Проверьте целиком
Бросьте тестовую ошибку из задеплоенного приложения, убедитесь, что она пришла в нужный проект и окружение, и
закройте её. Успешно импортированный SDK и пустой дашборд ничего не доказывают.