Миграция с Sentry

Sentry SDK без смены клиента: DSN, store/envelope и security reports.

DevLogs принимает события от Sentry SDK без смены клиентской библиотеки — достаточно заменить DSN и базовый URL. Поддерживаются маршруты store, envelope и security (CSP).

Где взять DSN. В настройках проекта в кабинете — блок «DSN-ключ»: plain key и Sentry-формат. ID проекта — из URL кабинета (/dashboard/projects/[id]).

1. Sentry DSN

Формат совместим с Sentry / GlitchTip:

text
https://YOUR_PUBLIC_KEY@dev-logs.ru/YOUR_PROJECT_ID

Plain DSN (только ключ) по-прежнему работает в native Ingest API и официальных SDK DevLogs.

2. Sentry JavaScript / browser

javascript
import * as Sentry from "@sentry/browser";

Sentry.init({
  dsn: "https://YOUR_PUBLIC_KEY@dev-logs.ru/YOUR_PROJECT_ID",
  // Sentry SDK сам шлёт на {host}/api/{projectId}/store/ или /envelope/
});

3. Sentry Node / Next.js

В sentry.client.config.ts / sentry.server.config.ts укажите DSN из кабинета (хост — dev-logs.ru или ваш кастомный домен при enterprise on-premise).

4. CSP и security reports

Отправка отчётов о нарушениях CSP:

html
<meta http-equiv="Content-Security-Policy"
      content="default-src 'self'; report-uri https://dev-logs.ru/api/ingest/csp/?dsn=YOUR_PUBLIC_KEY">

Альтернатива для Sentry SDK: endpoint https://dev-logs.ru/api/YOUR_PROJECT_ID/security/ с тем же DSN.

Envelope принимает error events и transactions. Session Replay и attachments — см. Session Replay и APM.

5. Relay-lite (локальный proxy)

Если приложению нужен локальный relay (как у Sentry Relay), используйте tools/relay-lite из репозитория DevLogs:

bash
export DEVLOGS_DSN="https://YOUR_PUBLIC_KEY@dev-logs.ru/YOUR_PROJECT_ID"
export RELAY_PORT=3000   # или 7878
node tools/relay-lite/server.js

В Sentry SDK укажите локальный DSN (тот же ключ и project id): http://YOUR_PUBLIC_KEY@localhost:3000/YOUR_PROJECT_ID. Relay пересылает store, envelope и security на DevLogs.

6. Ограничения

  • Errors и transactions — основной сценарий миграции.
  • Performance — /docs/apm.
  • Session Replay — /docs/replay.
  • Нативные SDK DevLogs дают полный контроль над полями ingest; Sentry compat — для миграции.

7. Переход на DevLogs SDK (опционально)

После миграции можно заменить Sentry SDK на официальный пакет для вашего стека — тот же проект и DSN, единый контракт POST /api/ingest.