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
- Sentry.io'ya giderek ücretsiz hesap oluşturun
- Dashboard'da "Create Project" butonuna tıklayın
- Platform olarak Laravel seçin
- Projenize bir isim verin
- 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ızaSENTRY_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:
- Forge dashboard'unda "User Profile" bölümüne gidin
- Sentry entegrasyon seçeneğini bulun
- "Connect with Sentry" butonuna tıklayın
- Site'nizin Sentry panelinden projeyi oluşturun
Vapor için:
- Vapor'da "Team Settings" bölümüne gidin (takım sahibi olarak)
- Sentry entegrasyon seçeneğini bulun
- 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:
- Hatalar görünmüyor: DSN doğruluğunu kontrol edin
- Çok fazla spam: Örnekleme oranını ayarlayın
-
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

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/
Please log in to upload a file.
There are no updates yet.
Click the Upload button above to add an update.