IHS Strategic
Tüm Blog Yazıları
HowTo19 Eylül 2026•4 dk okuma

Web Uygulamalarında Hata İzleme ve Sentry Entegrasyonu Rehberi

Modern web uygulamalarında kesintisiz kullanıcı deneyimi sağlamak, hataları anlık tespit etmek ve Sentry kurulumunu adım adım gerçekleştirmek için kapsamlı bir rehber.

S

Sistem Yöneticisi

Kıdemli Yazılım Mimarı

Giriş: Dijital Stratejide Hata Yönetiminin Rolü

Modern web geliştirme süreçlerinde, kullanıcıların karşılaştığı en küçük bir JavaScript hatası dahi dönüşüm oranlarını doğrudan düşürebilir ve marka itibarını zedeleyebilir. Günümüzün rekabetçi ekosisteminde proaktif olmak, yalnızca iyi kod yazmayı değil, aynı zamanda üretim (production) ortamındaki hataları gerçek zamanlı olarak izlemeyi gerektirir. Bu noktada hata izleme (error tracking) mekanizmaları, başarılı bir dijital strateji ve kaliteli yazılım teslimat döngüsünün vazgeçilmez bir parçası haline gelmiştir. Bu rehber içeriğimizde, web uygulamalarında hata izlemenin temellerini, güncel trendler ışığında gelişen yaklaşımları ve sektör standardı olan Sentry entegrasyonunu adım adım ele alacağız.

Hata İzleme (Error Tracking) Nedir ve Neden Gereklidir?

Hata izleme; bir uygulamanın istemci (frontend) veya sunucu (backend) tarafında beklenmedik şekilde patlayan istisnaları (exceptions), performans darboğazlarını ve ağ sorunlarını tespit edip detaylarıyla geliştiriciye bildiren süreçtir. Geleneksel günlükleme (logging) yöntemleri, binlerce satır log arasında kaybolmanıza neden olurken modern hata izleme araçları şunları sağlar:

  • Gerçek Zamanlı Bildirimler: Kritik bir hata oluştuğunda anında e-posta, Slack veya PagerDuty bildirimleri alma.
  • Yığın İzi (Stack Trace) Görünürlüğü: Hatanın hangi dosya, satır ve fonksiyonda gerçekleştiğini kaynak haritaları (source maps) ile doğrudan orijinal kod üzerinden görüntüleme.
  • Kullanıcı ve Oturum Bağlamı: Hatanın hangi tarayıcıda, işletim sisteminde veya hangi kullanıcı eylemleri silsilesi (breadcrumbs) sonucunda ortaya çıktığını anlama.

Modern Gözlemlenebilirlik ve Hata Takip Trendleri

Yazılım dünyasında hata izleme süreçleri artık sadece "hata loglamak"tan çıkıp çok boyutlu bir gözlemlenebilirlik (observability) disiplinine dönüştü. Öne çıkan bazı trendler şunlardır:

  • Performans İzleme (APM) ile Entegrasyon: Hatanın yanı sıra yavaş çalışan sorgular, büyük bundle boyutları ve Core Web Vitals metriklerinin tek panelden izlenmesi.
  • Oturum Yeniden Oynatma (Session Replay): Kullanıcının hatayla karşılaşmadan önceki ekran hareketlerini video gibi izleyerek hatayı saniyeler içinde yeniden üretme.
  • Yapay Zeka Destekli Kök Neden Analizi: Hataların otomatik gruplanması ve yapay zeka yardımıyla çözüm önerilerinin sunulması.

Sentry Nedir?

Sentry; açık kaynak temelli, bulut veya şirket içi (self-hosted) olarak kullanılabilen, hem istemci hem de sunucu taraflı dilleri destekleyen gelişmiş bir hata ve performans takip platformudur. React, Vue, Angular, Node.js, Python, PHP, Go gibi onlarca platformla yerel uyumluluk sunar.

Adım Adım Sentry Entegrasyonu

Adım 1: Sentry Hesabı Açma ve Proje Oluşturma

  1. Sentry.io adresine giderek bir hesap oluşturun.
  2. Yönetim panelinde "Projects" > "Create Project" butonuna tıklayın.
  3. Kullandığınız platformu seçin (Örn: React, JavaScript veya Node.js) ve projenize bir isim verin.
  4. Proje oluşturulduktan sonra size özel bir DSN (Data Source Name) anahtarı üretilecektir. Bu anahtarı kopyalayın.

Adım 2: SDK Kurulumu

Bir React veya modern JavaScript projesine Sentry SDK'sını dahil etmek için terminalinizde şu komutu çalıştırın:

npm install --save @sentry/react @sentry/tracing

Veya Yarn kullanıyorsanız:

yarn add @sentry/react @sentry/tracing

Adım 3: Sentry'nin Başlatılması (Initialization)

Uygulamanızın giriş noktasında (örneğin index.js veya main.jsx) Sentry'yi başlatmanız gerekir:

import React from "react";
import ReactDOM from "react-dom/client";
import * as Sentry from "@sentry/react";
import App from "./App";

Sentry.init({
  dsn: "https://your-dsn-key@o0.ingest.sentry.io/0000000",
  integrations: [
    new Sentry.BrowserTracing(),
    new Sentry.Replay(),
  ],
  // Performans takibi örnekleme oranı (1.0 = %100)
  tracesSampleRate: 0.2,
  // Oturum yeniden oynatma örnekleme oranı
  replaysSessionSampleRate: 0.1,
  replaysOnErrorSampleRate: 1.0,
  environment: process.env.NODE_ENV,
});

const root = ReactDOM.createRoot(document.getElementById("root"));
root.render(<App />);

Adım 4: Error Boundary ile Hataları Yakalama

React gibi bileşen tabanlı kütüphanelerde, render aşamasında oluşan hatalar tüm uygulamanın çökmesine (beyaz ekran) neden olabilir. Sentry'nin sunduğu ErrorBoundary bileşenini kullanarak hem kullanıcıya şık bir hata arayüzü sunabilir hem de hatayı raporlayabilirsiniz:

import React from "react";
import * as Sentry from "@sentry/react";

function FallbackComponent() {
  return (
    <div role="alert" style={{ padding: "20px", textAlign: "center" }}>
      <h2>Bir şeyler ters gitti!</h2>
      <p>Mühendislerimiz konuyla ilgileniyor. Lütfen sayfayı yenileyiniz.</p>
    </div>
  );
}

function MainLayout({ children }) {
  return (
    <Sentry.ErrorBoundary fallback={<FallbackComponent />} showDialog>
      {children}
    </Sentry.ErrorBoundary>
  );
}

Adım 5: Manuel Hata ve Özel Bağlam Gönderme

Bazı durumlarda try-catch blokları içindeki özel durumları manuel olarak Sentry'ye göndermek isteyebilirsiniz:

try {
  // Hata üretebilecek kritik işlem
  fetchPaymentDetails(orderId);
} catch (error) {
  Sentry.setContext("siparis_detay", {
    orderId: orderId,
    sepetTutari: 1540.50
  });
  Sentry.captureException(error);
}

Sentry ile En İyi Uygulamalar (Best Practices)

İpucu: Source Map (Kaynak Haritaları) dosyalarını Sentry CLI veya CI/CD entegrasyonu (GitHub Actions, GitLab CI vb.) aracılığıyla derleme aşamasında yükleyin. Bu sayede canlı ortamda minified olmuş anlaşılmaz kod yerine doğrudan TypeScript/JSX kaynak satırlarını görürsünüz.

  • Hassas Verileri Gizleyin (PII Data): Kullanıcı şifreleri, kredi kartı bilgileri veya kişisel kimlik bilgilerinin (PII) Sentry sunucularına iletilmediğinden emin olmak için beforeSend fonksiyonunu yapılandırın.
  • Ortamları Ayırın: Geliştirme (development), test (staging) ve canlı (production) ortamlarını environment etiketiyle ayırarak yerel hataların canlı istatistiklerini kirletmesini engelleyin.
  • Release Tracking Kullanın: Hataların hangi commit veya versiyon sürümünde ortaya çıktığını takip etmek için her dağıtımda release versiyonunu güncelleyin.

Sonuç

Web geliştirme dünyasında hataları tamamen sıfırlamak mümkün olmasa da, onları kullanıcı fark etmeden saniyeler içinde çözmek mümkündür. Doğru kurgulanmış bir Sentry entegrasyonu, ekibinizin teknik borcunu azaltırken işletmenizin dijital strateji hedeflerine kusursuz bir kullanıcı deneyimi ile ulaşmasını sağlar. Bu rehber adımlarını takip ederek projenizde hata izleme altyapısını hemen devreye alabilirsiniz.