Laravel Nightwatch Nedir? Nasıl Kurulur? Supervisor ile Nasıl Çalıştırılır?


Laravel uygulamanızda performans takibi, log analizi ve hata gözlemi için kullanabileceğiniz yeni bir oyuncu var: Laravel Nightwatch. Laravel ekosistemine entegre şekilde tasarlanmış bu monitoring aracı, saniyeler içinde kurulabiliyor ve arka planda Laravel agentı ile uygulamanızı dinliyor. Bu yazıda, Nightwatch nedir, ne işe yarar, nasıl kurulur ve server ortamında nasıl sürekli çalışacak şekilde ayarlanır, adım adım anlatıyoruz.
📈 Nightwatch Nedir?
Laravel Nightwatch, Laravel uygulamaları için geliştirilmiş bir izleme (monitoring) aracıdır. Aşağıdaki olayları gerçek zamanlı olarak izleyebilir:
HTTP request ve response performansı
Dış API çağrıları
Mail gönderimleri
Job kuyruğu ve performans takibi
Cache hit/miss durumları
Artisan komut çalıştırımları
Scheduled task durumu
Ayrıca, hataları e-posta yoluyla da bildirebiliyor ve projenin tamamını tek bir panelden izlemenizi sağlıyor.
Nightwatch, Laravel'e özel geliştirilmiş bir SaaS hizmetidir. Trilyonlarca olaydaki veriyi optimize şekilde sunabilecek altyapıya sahiptir.
✨ Nightwatch Kurulumu
1. Hesap Oluşturma
https://nightwatch.laravel.com/sign-up adresinden bir hesap oluşturmanız gerekiyor.
2. Organizasyon Oluşturma
Hesabı açtıktan sonra sizden bir organizasyon bilgisi isteniyor:
Organizasyon adı
Logo (opsiyonel)
Vergi numarası / fatura adresi (opsiyonel)
3. Uygulama Kurulumu
Uygulama adı, varsa URL, logo, ve ilk ortam bilgilerini girin. Ortam adı genelde Production
olur.
4. Laravel Paket Kurulumu
Terminalden şu komutla Nightwatch paketini kurun:
composer require laravel/nightwatch
.env
dosyasına size verilen NIGHTWATCH_TOKEN
'u ekleyin:
NIGHTWATCH_TOKEN=... (size özel token)
Log kanalını da Nightwatch olarak değiştirin:
LOG_CHANNEL=nightwatch
5. Request Sampling Ayarı
Nightwatch'a gönderilecek istek oranını belirlemek için:
NIGHTWATCH_REQUEST_SAMPLE_RATE=0.1
Bu değeri yükseltip/düşürebilirsiniz.
6. Agent Çalıştırma
Aşağıdaki komut ile Nightwatch agentını başlatın:
php artisan nightwatch:agent
Console üzerinde LISTENING
yazıyorsa bağlantı başarılı demektir.
🪖 Supervisor ile Nightwatch Agentı Arka Planda Çalıştırmak
Sunucunuzda agentı sürekli çalışması için Supervisor kullanabilirsiniz.
1. Config Dosyası
Dosyayı oluşturun:
sudo nano /etc/supervisor/conf.d/nightwatch-agent.conf
Içine şunu yazın:
[program:nightwatch-agent]
process_name=%(program_name)s
command=php /var/www/projeniz/artisan nightwatch:agent
autostart=true
autorestart=true
user=www-data
numprocs=1
redirect_stderr=true
stdout_logfile=/var/www/projeniz/storage/logs/nightwatch-agent.log
stopwaitsecs=3600
2. Supervisor’ı Yenile
sudo supervisorctl reread
sudo supervisorctl update
sudo supervisorctl start nightwatch-agent
Durumu kontrol etmek için:
sudo supervisorctl status nightwatch-agent
Agentın sürekli çalışması için bu şart. Yoksa sunucu yeniden başladığında tekrar elle başlatman gerekebilir.
📊 Nightwatch Paneline Genel Bakış
Agent aktif olduktan sonra panelde şunları takip edebilirsiniz:
Hatalar
Query performansı
Job durumu (processed, released, failed)
Şema gecikmeler
Mail gönderim durumu
Scheduled task'ların zamanlaması
Ayrıca şu gibi PRO+ özellikler de mevcut:
Job threshold tanımlama
Route bazlı performans alarmı
Scheduled task timeout kontrolü
🌟 Sonuç
Laravel Nightwatch, modern uygulamaların izlenmesi için doğrudan Laravel takımı tarafından geliştirilen çok hafif ama bir o kadar da güçlü bir monitoring çözümü. Kurulumu kolay, kullanımı keyifli ve geliştirici deneyimini bir üst seviyeye çıkaran bir sistem.
Denemek isteyenler için şöyle diyebiliriz:
1 dakikada kuruluyor, ama projeye kattığı şey aylarca uğraşmayla bile zor elde edilir.
Laravel Nightwatch'a kayıt olmak için: 👉 https://nightwatch.laravel.com/sign-up
Subscribe to my newsletter
Read articles from Uygar Öztürk Ceylan directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by
