Modern Web Uygulamalarında Sentry ile Hata İzleme Rehberi
Modern web uygulamalarında Sentry entegrasyonu ile hata izleme ve loglama adımları. Dijital ajans ekipleri için pratik kurulum rehberi.
Sistem Yöneticisi
Kıdemli Yazılım Mimarı
Hata İzleme Neden Gerekli?
Modern web projelerinde kullanıcı tarafında patlayan hataları loglamamak kör uçuşu yapmaktır. Konsol logları sunucuda görünmez. Dijital ajans ekipleri ve ürün yöneticileri için anlık hata tespiti kritiktir. Sentry, runtime hatalarını ve stack trace verilerini merkezi panelde toplar.
Adım 1: Sentry SDK Kurulumu
Terminalde proje dizininde paketi kurun:
npm install @sentry/browser @sentry/tracingAdım 2: Frontend Entegrasyonu
Uygulama giriş noktasında (index.js veya main.js) SDK'yı başlatın:
import * as Sentry from '@sentry/browser';
Sentry.init({
dsn: 'https://examplePublicKey@o0.ingest.sentry.io/0',
tracesSampleRate: 0.2,
environment: process.env.NODE_ENV
});Adım 3: Backend (Node.js/Express) Entegrasyonu
Node.js tarafında hata yakalama middleware sırası kritiktir. Handler en son tanımlanır:
const express = require('express');
const Sentry = require('@sentry/node');
const app = express();
Sentry.init({ dsn: process.env.SENTRY_DSN });
app.use(Sentry.Handlers.requestHandler());
// Rotalar burada
app.get('/', (req, res) => { res.send('OK'); });
// Sentry hata yakalayıcı tüm controller'lardan sonra gelmeli
app.use(Sentry.Handlers.errorHandler());
app.listen(3000);Adım 4: Context ve Kullanıcı Verisi Ekleme
Hatanın hangi kullanıcıda ve koşulda oluştuğunu tespit etmek için context bağlayın:
Sentry.setUser({ id: user.id, email: user.email });
Sentry.setTag('subscription_tier', 'pro');Adım 5: Source Maps Yükleme
Production build minified kod içerir. Stack trace okumak için build pipeline içine Source Map yükleme adımı ekleyin:
- Sentry CLI kurun:
npm install -g @sentry/cli - CI/CD aşamasında release ve source map yükleyin:
sentry-cli releases files [release_name] upload-sourcemaps ./dist
Modern Web Trendleri ve Ajans Pratikleri
Dijital ajans projelerinde production dağıtımı sonrası şu kuralları işletin:
- Sample Rate Kontrolü: Yüksek trafikli sitelerde kotayı korumak için
tracesSampleRatedeğerini 1.0 yerine 0.1-0.2 seviyesinde tutun. - Hassas Veri Maskeleme: KVKK/GDPR uyumu için
beforeSendkancasında parola ve token alanlarını temizleyin. - Alert Kuralları: Slack/Discord webhook entegrasyonu ile P0 hatalarında nöbetçi ekibe anlık bildirim geçin.