Laravel’de Sentry Kullanımı: Hata İzleme ve Performans Monitörü için Kapsamlı Rehber

Giriş

Modern web uygulamalarında hata izleme ve performans monitörü, kullanıcı deneyimini korumak ve uygulamanın güvenilirliğini sağlamak için kritik önem taşır. Laravel uygulamalarınızda bu işlemleri kolaylaştıran en popüler araçlardan biri…


This content originally appeared on DEV Community and was authored by arasosman

Giriş

Modern web uygulamalarında hata izleme ve performans monitörü, kullanıcı deneyimini korumak ve uygulamanın güvenilirliğini sağlamak için kritik önem taşır. Laravel uygulamalarınızda bu işlemleri kolaylaştıran en popüler araçlardan biri Sentry'dir. Bu rehberde, Laravel projelerinize Sentry'yi nasıl entegre edeceğinizi, yapılandıracağınızı ve en verimli şekilde kullanacağınızı öğreneceksiniz.

Sentry Nedir?

Sentry, Laravel uygulamaları için dünya çapında önde gelen bir hata izleme ve performans monitörü platformudur. Fortune 500 şirketleri tarafından güvenilen bu platform, geliştiricilere gerçek zamanlı kod görünürlüğü ve hata ayıklama yetenekleri sunar.

Sentry'nin Temel Özellikleri:

  • Gerçek Zamanlı Hata İzleme: Uygulamanızda oluşan hataları anında yakalar ve bildirir
  • Performans Monitörü: Yavaş sorguları, N+1 problemlerini ve performans darboğazlarını tespit eder
  • Release Tracking: Hangi sürümde hangi hatanın oluştuğunu izleyebilirsiniz
  • Team Collaboration: Hataları takım üyelerine atayabilir ve çözüm sürecini takip edebilirsiniz
  • Intelligent Alerting: E-posta, Slack, PagerDuty gibi platformlar üzerinden akıllı bildirimler

Laravel Projesi Oluşturma

Öncelikle yeni bir Laravel projesi oluşturalım:

# Laravel Installer ile
composer global require laravel/installer
laravel new laravel-sentry

# veya Composer ile
composer create-project laravel/laravel laravel-sentry

Sentry Hesabı Oluşturma ve Proje Kurulumu

  1. Sentry.io'ya giderek ücretsiz hesap oluşturun
  2. Dashboard'da "Create Project" butonuna tıklayın
  3. Platform olarak Laravel seçin
  4. Projenize bir isim verin
  5. Proje oluşturulduktan sonra DSN (Data Source Name) anahtarını kopyalayın

Sentry-Laravel Paketi Kurulumu

Laravel için resmi Sentry SDK'sını Composer ile kurun:

composer require sentry/sentry-laravel

Laravel 11.x ve 12.x için yapılandırma dosyanızı (bootstrap/app.php) güncelleyin:

<?php

use Illuminate\Foundation\Application;
use Illuminate\Foundation\Configuration\Exceptions;
use Illuminate\Foundation\Configuration\Middleware;
use Sentry\Laravel\Integration;

return Application::configure(basePath: dirname(__DIR__))
    ->withRouting(
        web: __DIR__.'/../routes/web.php',
        commands: __DIR__.'/../routes/console.php',
        health: '/up',
    )
    ->withMiddleware(function (Middleware $middleware) {
        //
    })
    ->withExceptions(function (Exceptions $exceptions) {
        Integration::handles($exceptions);
    })
    ->create();

Konfigürasyon

1. DSN Yapılandırması

Sentry yapılandırma dosyasını oluşturmak ve DSN'yi .env dosyanıza eklemek için şu komutu çalıştırın:

php artisan sentry:publish --dsn=YOUR_DSN_HERE

Bu komut otomatik olarak:

  • config/sentry.php yapılandırma dosyası oluşturur
  • .env dosyanıza SENTRY_LARAVEL_DSN anahtarını ekler

2. .env Dosyası Ayarları

.env dosyanızı aşağıdaki gibi güncelleyin:

SENTRY_LARAVEL_DSN=https://your-public-key@o0.ingest.sentry.io/0
SENTRY_TRACES_SAMPLE_RATE=1.0

3. Performans İzleme Etkinleştirme

Performans izlemeyi etkinleştirmek için config/sentry.php dosyasında örnekleme oranını ayarlayın:

'traces_sample_rate' => 0.2, // %20 işlem örneklemesi

// veya dinamik örnekleme için:
'traces_sampler' => function (\Sentry\Tracing\SamplingContext $context): float {
    // 0 ile 1 arasında bir değer döndürün
    return 0.5;
},

Test Etme

1. Artisan Komutu ile Test

Sentry entegrasyonunuzu test etmek için sağlanan artisan komutunu kullanın:

php artisan sentry:test

2. Özel Test Route'u Oluşturma

routes/web.php dosyasına bir test route'u ekleyin:

Route::get('/sentry-test', function () {
    throw new Exception('Sentry test hatası!');
});

http://your-app.test/sentry-test adresini ziyaret ettiğinizde, Sentry dashboard'unda hatayı görebilirsiniz.

Gelişmiş Kullanım Özellikleri

1. Manuel Hata Yakalama

use function Sentry\captureException;

try {
    $this->riskyOperation();
} catch (\Throwable $exception) {
    captureException($exception);
}

2. Özel Bağlam Ekleme

use function Sentry\configureScope;

configureScope(function (\Sentry\State\Scope $scope): void {
    $scope->setTag('feature', 'payment');
    $scope->setUser([
        'id' => auth()->id(),
        'email' => auth()->user()->email,
    ]);
    $scope->setContext('payment_data', [
        'amount' => $amount,
        'currency' => 'TRY',
    ]);
});

3. Laravel Log Channel Olarak Kullanım

config/logging.php dosyasına Sentry kanalını ekleyin:

'channels' => [
    'sentry' => [
        'driver' => 'sentry',
        'level' => 'error',
        'bubble' => true,
    ],

    'stack' => [
        'driver' => 'stack',
        'channels' => ['daily', 'sentry'],
    ],
],

4. Performance Monitoring

Sentry'nin Laravel Insights özelliği ile yavaş sorgular, job'lar ve route'ları izleyebilirsiniz:

// Özel span oluşturma
$span = \Sentry\startTransaction(['name' => 'expensive-operation']);
\Sentry\SentrySdk::getCurrentHub()->setSpan($span);

try {
    // Pahalı işlem
    $result = $this->expensiveOperation();
} finally {
    $span->finish();
}

Laravel Forge ve Vapor Entegrasyonu

Laravel Forge veya Vapor kullanıyorsanız, Sentry entegrasyonu daha da kolaydır:

Forge için:

  1. Forge dashboard'unda "User Profile" bölümüne gidin
  2. Sentry entegrasyon seçeneğini bulun
  3. "Connect with Sentry" butonuna tıklayın
  4. Site'nizin Sentry panelinden projeyi oluşturun

Vapor için:

  1. Vapor'da "Team Settings" bölümüne gidin (takım sahibi olarak)
  2. Sentry entegrasyon seçeneğini bulun
  3. Bağlantıyı kurun ve proje oluşturun

Best Practices ve İpuçları

1. Geliştirme Ortamında Devre Dışı Bırakma

Geliştirme ve test ortamlarında Sentry'yi devre dışı bırakmak için:

# .env.local veya test ortamında
SENTRY_LARAVEL_DSN=null

2. Rate Limiting

Üretim ortamında örnekleme oranını düşürün:

'traces_sample_rate' => 0.1, // %10 örnekleme

3. Sensitive Data Scrubbing

Hassas verileri temizlemek için:

'before_send' => function (\Sentry\Event $event): ?\Sentry\Event {
    // Hassas verileri temizle
    $event->setTag('environment', app()->environment());
    return $event;
},

4. Release Tracking

'release' => config('app.version', 'unknown'),

Sentry Dashboard'unda İzleme

Sentry dashboard'unda şunları izleyebilirsiniz:

  • Issues: Gruplandırılmış hatalar ve çözüm durumları
  • Performance: Transaction'lar ve yavaş operasyonlar
  • Releases: Sürüm bazında hata dağılımı
  • Discover: Özel sorgular ve analizler

Troubleshooting

Yaygın Sorunlar ve Çözümleri:

  1. Hatalar görünmüyor: DSN doğruluğunu kontrol edin
  2. Çok fazla spam: Örnekleme oranını ayarlayın
  3. Performance verisi yok: traces_sample_rate ayarını kontrol edin

Sonuç

Sentry, Laravel uygulamalarınızda proaktif hata izleme ve performans optimizasyonu için güçlü bir araçtır. Sağlam özellikleri ve sezgisel dashboard'u ile geliştiriciler uygulamalarını proaktif olarak izleyebilir, hata trendlerine dair içgörüler elde edebilir ve sorunsuz işleyiş sağlayabilir.

Bu rehberi takip ederek Laravel uygulamanızda Sentry'yi başarıyla kurabilir, yapılandırabilir ve etkili bir şekilde kullanabilirsiniz. Sentry'nin sunduğu gelişmiş özellikler sayesinde uygulamanızın kalitesini artırabilir ve kullanıcı deneyimini iyileştirebilirsiniz.

Kaynaklar

Bu makale, Laravel geliştiricilerinin Sentry'yi etkili bir şekilde kullanabilmeleri için kapsamlı bir rehber olarak hazırlanmıştır. Sorularınız için lütfen yorum bırakın!


This content originally appeared on DEV Community and was authored by arasosman


Print Share Comment Cite Upload Translate Updates
APA

arasosman | Sciencx (2025-07-05T00:38:23+00:00) Laravel’de Sentry Kullanımı: Hata İzleme ve Performans Monitörü için Kapsamlı Rehber. Retrieved from https://www.scien.cx/2025/07/05/laravelde-sentry-kullanimi-hata-izleme-ve-performans-monitoru-icin-kapsamli-rehber/

MLA
" » Laravel’de Sentry Kullanımı: Hata İzleme ve Performans Monitörü için Kapsamlı Rehber." arasosman | Sciencx - Saturday July 5, 2025, https://www.scien.cx/2025/07/05/laravelde-sentry-kullanimi-hata-izleme-ve-performans-monitoru-icin-kapsamli-rehber/
HARVARD
arasosman | Sciencx Saturday July 5, 2025 » Laravel’de Sentry Kullanımı: Hata İzleme ve Performans Monitörü için Kapsamlı Rehber., viewed ,<https://www.scien.cx/2025/07/05/laravelde-sentry-kullanimi-hata-izleme-ve-performans-monitoru-icin-kapsamli-rehber/>
VANCOUVER
arasosman | Sciencx - » Laravel’de Sentry Kullanımı: Hata İzleme ve Performans Monitörü için Kapsamlı Rehber. [Internet]. [Accessed ]. Available from: https://www.scien.cx/2025/07/05/laravelde-sentry-kullanimi-hata-izleme-ve-performans-monitoru-icin-kapsamli-rehber/
CHICAGO
" » Laravel’de Sentry Kullanımı: Hata İzleme ve Performans Monitörü için Kapsamlı Rehber." arasosman | Sciencx - Accessed . https://www.scien.cx/2025/07/05/laravelde-sentry-kullanimi-hata-izleme-ve-performans-monitoru-icin-kapsamli-rehber/
IEEE
" » Laravel’de Sentry Kullanımı: Hata İzleme ve Performans Monitörü için Kapsamlı Rehber." arasosman | Sciencx [Online]. Available: https://www.scien.cx/2025/07/05/laravelde-sentry-kullanimi-hata-izleme-ve-performans-monitoru-icin-kapsamli-rehber/. [Accessed: ]
rf:citation
» Laravel’de Sentry Kullanımı: Hata İzleme ve Performans Monitörü için Kapsamlı Rehber | arasosman | Sciencx | https://www.scien.cx/2025/07/05/laravelde-sentry-kullanimi-hata-izleme-ve-performans-monitoru-icin-kapsamli-rehber/ |

Please log in to upload a file.




There are no updates yet.
Click the Upload button above to add an update.

You must be logged in to translate posts. Please log in or register.