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

Помилки у веб-застосунку можуть залишатися непоміченими, доки не перетворяться на критичну проблему для користувачів. Ми налаштовуємо Sentry під ключ — від інтеграції з вашим стеком до алертів у месенджери, щоб ви вчасно дізнавалися про збої. Наша команда бере на себе весь цикл: аудит, налаштування source maps, release tracking і подальшу підтримку, забезпечуючи надійне рішення, яке масштабується разом із бізнесом.

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

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

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

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

Налаштування 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 сьогодні — і забудьте про втрачені помилки.

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

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

  • Розробка сайту компанії B2B ADVANCE
    Розробка сайту компанії B2B ADVANCE
    1542
  • Розробка веб-додатків для компанії FEEDME
    Розробка веб-додатків для компанії FEEDME
    1393
  • Розробка веб-сайту для компанії БЕЛФІНГРУП
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    1081
  • Розробка інтернет магазину для компанії FURNORO
    Розробка інтернет магазину для компанії FURNORO
    1368
  • Розробка веб-додатків для компанії Enviok
    Розробка веб-додатків для компанії Enviok
    1139
  • Розробка веб-сайту для компанії ФІКСПЕР
    Розробка веб-сайту для компанії ФІКСПЕР
    1060