Налаштування Error Tracking (Sentry) для веб-застосунку

Налаштування Error Tracking (Sentry) для веб-застосунку

Розробка та обслуговування будь-яких видів сайтів:

Інформаційні сайти або веб-програми
Сайти візитки, landing page, корпоративні сайти, онлайн каталоги, квіз, промо-сайти, блоги, ресурси новин, інформаційні портали, форуми, агрегатори
Сайти або веб-програми електронної комерції
Інтернет-магазини, B2B-портали, маркетплейси, онлайн-обмінники, кешбек-сайти, біржі, дропшиппінг-платформи, парсери товарів
Веб-програми для управління бізнес-процесами
CRM-системи, ERP-системи, корпоративні портали, системи управління виробництвом, парсери інформації
Сайти або веб-програми електронних послуг
Дошки оголошень, онлайн-школи, онлайн-кінотеатри, конструктори сайтів, портали надання електронних послуг, відеохостинги, тематичні портали

Це лише деякі з технічних типів сайтів, з якими ми працюємо, і кожен із них може мати свої специфічні особливості та функціональність, а також бути адаптованим під конкретні потреби та цілі клієнта.

Послуги, які ми пропонуємо
Показано 1 з 1Усі 2062 послуг
Налаштування Error Tracking (Sentry) для веб-застосунку
Простий
~1 день

Наші компетенції:

Часті запитання

Останні роботи

  • image_website-b2b-advance_0.webp
    Розробка сайту компанії B2B ADVANCE
    1422
  • image_web-applications_feedme_466_0.webp
    Розробка веб-додатків для компанії FEEDME
    1287
  • image_websites_belfingroup_462_0.webp
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    984
  • image_ecommerce_furnoro_435_0.webp
    Розробка інтернет магазину для компанії FURNORO
    1249
  • image_crm_enviok_479_0.webp
    Розробка веб-додатків для компанії Enviok
    986
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Розробка веб-сайту для компанії ФІКСПЕР
    1000

Налаштування Error Tracking (Sentry) для веб-застосунку

Sentry — стандарт de facto для відстеження помилок. Але 90% розробників обмежуються встановленням SDK, забуваючи про source maps, release tracking та фільтрацію шуму. Результат: тони хибних спрацьовувань, втрата критичних помилок та години на їх пошук. Ми налаштовуємо Sentry під ключ — від інтеграції з Laravel (PHP 8.3) та React 18 до алертів у Telegram та автоматичного прив'язування комітів через CI/CD. Досвід роботи над 15+ проєктами з навантаженням до 10k RPS гарантує, що ви не потонете в шумі, а кожна помилка буде вчасно помічена.

Нещодавно на проєкті з Laravel та React ми зіткнулися з ситуацією: помилка в production проявлялася лише у 1% користувачів. Без Sentry її не могли відтворити декілька днів. Після налаштування знайшли причину за 10 хвилин — проблема зі станом гонки в Redux. Така діагностика недоступна при простому логуванні.

Чому Sentry краще простого логування?

Sentry не просто зберігає помилки — групує їх за стеком, показує частоту, контекст (змінні оточення, breadcrumbs) та історію змін. На відміну від логів, ви одразу бачите, яка помилка критична, хто її викликав та в якому релізі вона з'явилася. Це скорочує час пошуку причин на 70% — з годин до хвилин. Sentry працює в 10 разів швидше традиційних систем моніторингу при виявленні регресій.

Дані Sentry показують, що налаштування source maps прискорює налагодження на 70%. Типова економія від скорочення часу на налагодження становить $200–500 на місяць для середнього проєкту.

Порівняння варіантів розгортання

Критерій Sentry SaaS (sentry.io) Self-hosted
Інфраструктура Не потрібна Docker, ~4 GB RAM
Безкоштовний ліміт 5000 помилок/місяць Не обмежений
Конфіденційність Дані на серверах Sentry Повний контроль
Вартість Від $26/місяць (Team) Безкоштовно, але витрати на адміністрування
Рекомендується Командам до 50 осіб Enterprise або суворі вимоги

Як налаштувати Sentry за 4 кроки?

  1. Встановлення SDK: на backend (Laravel) та frontend (React).
  2. Налаштування source maps: для читабельних стеків у браузері.
  3. Фільтрація шуму: виключення ботів, очікуваних помилок та розширень.
  4. Алерти та release tracking: сповіщення в Telegram та прив'язка комітів.

Встановлення SDK

Backend PHP/Laravel:

composer require sentry/sentry-laravel php artisan sentry:publish --dsn=https://[email protected]/project-id 

У .env додайте SENTRY_LARAVEL_DSN та SENTRY_TRACES_SAMPLE_RATE=0.1. SDK реєструється автоматично. Frontend React/Next.js:

npm install @sentry/react 

Ініціалізація:

import * as Sentry from '@sentry/react'; Sentry.init({ dsn: import.meta.env.VITE_SENTRY_DSN, environment: import.meta.env.MODE, release: import.meta.env.VITE_APP_VERSION, integrations: [Sentry.browserTracingIntegration(), Sentry.replayIntegration({ maskAllText: false, blockAllMedia: false })], tracesSampleRate: 0.1, replaysSessionSampleRate: 0.05, replaysOnErrorSampleRate: 1.0, }); 

Як налаштувати source maps для налагодження?

Без source maps стек викликів — мініфікований код. Встановіть плагін @sentry/vite-plugin, потім налаштуйте:

import { sentryVitePlugin } from '@sentry/vite-plugin'; export default defineConfig({ build: { sourcemap: true }, plugins: [react(), sentryVitePlugin({ org: 'your-org', project: 'your-project', authToken: process.env.SENTRY_AUTH_TOKEN, sourcemaps: { assets: './dist/**', ignore: ['node_modules'], filesToDeleteAfterUpload: ['./dist/**/*.map'] } })], }); 

Source maps завантажуються при збірці та видаляються з публічної директорії — користувачі їх не побачать. Детальніше про налаштування source maps читайте в документації Sentry.

Фільтрація шуму

За замовчуванням Sentry ловить все: ботів, 404, помилки розширень. Налаштовуємо фільтри:

Приклад фільтрації шуму (backend)
// config/sentry.php 'before_send' => function (\Sentry\Event $event, ?\Sentry\EventHint $hint): ?\Sentry\Event { $exception = $hint?->exception; if ($exception instanceof \Illuminate\Auth\AuthenticationException) return null; if ($exception instanceof \Symfony\Component\HttpKernel\Exception\NotFoundHttpException) return null; $userAgent = request()->header('User-Agent', ''); if (str_contains(strtolower($userAgent), 'bot')) return null; return $event; }, 

Frontend (JavaScript):

Sentry.init({ denyUrls: [/extensions\//i, /^chrome:\/\//i, /^chrome-extension:\/\//i], ignoreErrors: ['ResizeObserver loop limit exceeded', 'Non-Error promise rejection captured'], }); 

Фільтри знижують кількість хибних помилок на 80–90%, залишаючи лише реальні проблеми.

Release tracking

При деплої створюйте реліз через sentry-cli: sentry-cli releases new "$VERSION", set-commits, finalize та deploys new -e production. Це дозволяє бачити, в якому релізі та коміті вперше з'явилася помилка.

Типи алертів

Тип Умова Приклад
New issue Перше входження помилки Критична помилка в новому релізі
Error frequency >100 помилок за годину DDoS або збій API
Regression Помилка після resolved Баг повернувся після фіксу

Налаштуйте alert rule: New issue — при першому входженні, Error frequency — >100 разів за годину, Regression — помилка повернулася після resolved. Інтеграції: Telegram (через webhook), Slack, PagerDuty. Замовте налаштування — ми підключимо будь-який канал за годину.

Що входить в роботу

  • Встановлення SDK на backend та frontend.
  • Source maps для браузерних застосунків.
  • Фільтрація шуму (боти, очікувані помилки, розширення).
  • Release tracking у CI/CD.
  • Alert-правила в Telegram/Slack.
  • Документація та навчання команди.

Терміни та економія

Базове налаштування SDK, source maps, фільтрація та алерти — 2–4 години. Повний цикл з CI/CD — до 2 днів. Налаштування окупається в середньому за 2–3 місяці, економлячи до $300 на місяць на підтримці. Зв'яжіться з нами для безкоштовної оцінки вашого проєкту. Замовте налаштування Sentry сьогодні — і забудьте про втрачені помилки.