# 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](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:

```markdown
composer require laravel/nightwatch
```

`.env` dosyasına size verilen `NIGHTWATCH_TOKEN`'u ekleyin:

```markdown
NIGHTWATCH_TOKEN=... (size özel token)
```

Log kanalını da Nightwatch olarak değiştirin:

```markdown
LOG_CHANNEL=nightwatch
```

### 5\. Request Sampling Ayarı

Nightwatch'a gönderilecek istek oranını belirlemek için:

```markdown
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:

```markdown
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:

```markdown
sudo nano /etc/supervisor/conf.d/nightwatch-agent.conf
```

Içine şunu yazın:

```markdown
[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

```markdown
sudo supervisorctl reread
sudo supervisorctl update
sudo supervisorctl start nightwatch-agent
```

Durumu kontrol etmek için:

```markdown
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](https://nightwatch.laravel.com) ş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](https://nightwatch.laravel.com/sign-up)
