Bir Laravel geliştiricisiyseniz, üretim uygulamalarınızı izlemenin ne kadar kritik olduğunu bilirsiniz. Ancak, çoğu ticari uygulama performans izleme aracı hızla maliyetli hale gelebilir ve hassas telemetri verilerini üçüncü taraf sunuculara göndermek gizlilik gereksinimlerinizle uyumlu olmayabilir.
Bu nedenle, Laravel için özel olarak tasarlanmış açık kaynaklı, kendinden barındırılan bir izleme platformu olan LaraOwl‘ı geliştirdim. Bunu, kendi özel APM setiniz olarak düşünebilirsiniz.
LaraOwl Nedir? 🦉
LaraOwl Nedir? 🦉
LaraOwl, tüm Laravel uygulamalarınızdan telemetri toplayan kendinden barındırılan bir izleme sunucusudur. Barındırılan bir servis için ödeme yapmak yerine, kendi altyapınıza (örneğin, Laravel Cloud veya VPS) LaraOwl sunucusunu dağıtır ve izlemek istediğiniz uygulamalara hafif bir istemci paketi ekleyerek çalışırsınız.
LaraOwl, Apache 2.0 lisansı altında, tamamen açık kaynaklı ve özelleştirilebilir şekilde sunulmaktadır.
Temel Özellikler
Temel Özellikler
Derin Telemetri ve Performans İzleme
Derin Telemetri ve Performans İzleme
laraowl/client paketini kurduğunuzda, LaraOwl istek yaşam döngüsüne bağlanarak otomatik olarak şunları kaydeder:
- HTTP İstekleri: Yöntem, yol, durum kodları, istek süresi ve yanıt boyutları.
- İstisnalar ve Hatırlatmalar: Tam yığın izleri ile otomatik olarak gruplanır. Takip etmeyi ve çözülmüş işaretlemeyi kolaylaştırır.
- Veritabanı Sorguları: Yerleşik yavaş sorgu tespiti ve N+1 sorgu tanımlama ile veritabanı performansını optimize etmeye yardımcı olur.
- İşler ve Kuyruk Aktivitesi: İşleme durumu, süresi ve iş hataları.
- Kullanıcı Takibi: Kullanıcı başına biriken istek geçmişi ve aktivite.
Not: Telemetri, Laravel’in kuyruk sistemi aracılığıyla asenkron olarak gönderilir; bu da kritik yolunuza tamamen dışarıda kalır.
Dahili WAF Analizi ve Cloudflare Entegrasyonu
Dahili WAF Analizi ve Cloudflare Entegrasyonu
LaraOwl performansı izlemekle kalmaz. Gelen trafiği yaygın güvenlik tehditleri için inceleyerek SQL enjeksiyonu (SQLi), siteler arası betik (XSS) ve yol geçişi girişimlerini işaret eder.
Ayrıca, Cloudflare API ile doğrudan entegre olarak, kötü niyetli IP’leri engelleyebilir ve LaraOwl kontrol panelinden güvenlik duvarı kurallarını yönetebilirsiniz.
Gerçek Zamanlı Kontrol Paneli ve Çok Kanallı Uyarılar
Gerçek Zamanlı Kontrol Paneli ve Çok Kanallı Uyarılar
Kontrol paneli, istekler ve istisnalar uygulamanıza düştükçe gerçek zamanlı güncellenen grafikler ve günlükler göstererek WebSockets üzerinden çalışmaktadır.
Bir şeyler yanlış gittiğinde, LaraOwl, uptime ve kalp atış hızı izleyicileriyle hemen sizi şu yöntemlerle bilgilendirir:
- Slack
- Discord
- Telegram
- Özel Webhook’lar
5 Dakikada Başlangıç
5 Dakikada Başlangıç
LaraOwl kurulum işlemi son derece basittir.
1. LaraOwl Sunucusunu Kurun
1. LaraOwl Sunucusunu Kurun
Sunucu, standart bir Laravel uygulamasıdır. Composer kullanarak projeyi oluşturun, .env dosyanızı yapılandırın ve varlıkları derleyin:
bash
composer create-project laraowl/laraowl laraowl
cd laraowl
npm install
cp .env.example .env
php artisan key:generate
php artisan migrate
npm run build
Sunucuyu çalıştırmak için, arka planda üç destekleyici süreci başlatmanız gerekir (veya Supervisor gibi bir süreç yöneticisi aracılığıyla):
bash
php artisan queue:work
php artisan reverb:start
php artisan schedule:work
2. İzleyeceğiniz Uygulamaları Bağlayın
2. İzleyeceğiniz Uygulamaları Bağlayın
İzlemek istediğiniz herhangi bir Laravel uygulamasında, istemci paketini çekin ve yükleyiciyi çalıştırın:
bash
composer require laraowl/client
php artisan laraowl:install
API uç noktanızı ve belirleminizi yapılandırmak için ekrandaki yönergeleri izleyin ve izlemeye hazırsınız!
Teknik Gereksinimler
Teknik Gereksinimler
- PHP 8.3+
- Node.js 18+
- MySQL 8.0+ veya PostgreSQL
Projeye Katılın! 🤝
Projeye Katılın! 🤝
LaraOwl tamamen açık kaynaklıdır ve aktif olarak bakım yapılmaktadır. Geri bildirimlerinizi, hata bildirimlerinizi veya fonksiyon önerilerinizi duymak isterim.
- ⭐ Projeyi GitHub üzerinde yıldızlayın veya fork edin.
- 📖 Repo üzerindeki tam belgeleri okuyun.
Kaynak: Orijinal Makale


