Üretim ortamında uygulama izleme, Laravel geliştiricileri için zorlayıcı bir süreç olabiliyor. Bu sorunları çözmek için Laravel Actuator geliştirilmiştir.
Laravel Actuator Nedir?
Laravel Actuator Nedir?
Laravel Actuator, Laravel uygulamanızın sağlık durumu, performansı ve konfigürasyonu hakkında gerçek zamanlı görünürlük sağlayan bir dizi HTTP uç noktasıdır. Bu araç, Java geliştiricileri tarafından uzun yıllardır kullanılan Spring Boot Actuator ilhamıyla oluşturulmuştur.
Sorun
Sorun
Bir Laravel uygulamasını üretime aldığınızda şu sorulara yanıt bulmanız gerekir:
- Veritabanı bağlantısı var mı?
- Önbellek çalışıyor mu?
- Disk alanı yetersiz mi?
- Kuponlar sağlıklı mı?
- Hangi versiyon çalışıyor?
Mevcut durumda:
- ❌ Sunucuya SSH ile bağlanarak elle kontrol etmek
- ❌ Özel izleme uç noktaları oluşturmak
- ❌ Dış hizmetler kullanmak
- ❌ Hiçbir şeyin bozulmadığını ummak
2026 yılıdayız. Daha iyi araçlara ihtiyacımız var.
Çözüm
Çözüm
Tek bir komut ile:
composer require sbasu/laravel-actuator
php artisan vendor:publish --tag=actuator-config
Artık uygulamanız izleme uç noktalarına sahip:
Sağlık Kontrolü
Sağlık Kontrolü
curl http://localhost:8000/actuator/health
Şu yanıtı döner:
{
"status": "UP",
"components": {
"database": {
"status": "UP"
},
"disk_space": {
"status": "UP"
},
"cache": {
"status": "UP"
},
"queue": {
"status": "UP"
}
},
"timestamp": "2026-06-27T10:34:14Z"
}
Metri̇kler
Metri̇kler
curl http://localhost:8000/actuator/metrics
Performans metri̇kleri̇ döner.
Uygulama Bilgisi
Uygulama Bilgisi
curl http://localhost:8000/actuator/info
Uygulamanız hakkında meta verileri döner.
Gerçek Dünya Kullanım Senaryoları
Gerçek Dünya Kullanım Senaryoları
Kubernetes Dağıtımları
Kubernetes Dağıtımları
Kubernetes kümeniz, pod’unuzun sağlıklı olup olmadığını bilmelidir:
livenessProbe:
httpGet:
path: /actuator/health
port: 8000
initialDelaySeconds: 30
periodSeconds: 10
readinessProbe:
httpGet:
path: /actuator/health
port: 8000
initialDelaySeconds: 10
periodSeconds: 5
Sağlık kontrolü başarısız olursa, Kubernetes otomatik olarak pod’u yeniden başlatır.
Docker Sağlık Kontrolleri
Docker Sağlık Kontrolleri
HEALTHCHECK --interval=30s --timeout=3s \
CMD curl -f http://localhost:8000/actuator/health || exit 1
Yük Dengeleyici Sağlık Kontrolleri
Yük Dengeleyici Sağlık Kontrolleri
Yük dengeleyiciniz, yalnızca sağlıklı örneklere trafik yönlendirebilir:
upstream laravel {
server laravel-1:8000;
server laravel-2:8000;
server laravel-3:8000;
check interval=3000 rise=2 fall=5 type=http;
check_http_send "GET /actuator/health HTTP/1.0\r\n\r\n";
check_http_expect_alive http_2xx;
}
İzleme ve Uyarılar
İzleme ve Uyarılar
Metri̇kleri Prometheus/Grafana’ya aktar:
scrape_configs:
- job_name: 'laravel-app'
metrics_path: '/actuator/metrics'
static_configs:
- targets: ['localhost:8000']
Anahtar Özellikler
Anahtar Özellikler
✅ Sıfır Konfigürasyon — Kutudan çıkar çıkmaz çalışır
✅ Kubernetes Uyumlu — Konteyner orkestrasyonu için tasarlanmıştır
✅ Kapsamlı — Veritabanı, önbellek, kuyruk, disk kontrolleri
✅ DevOps Dostu — Araçlar için standart uç noktalar
✅ Varsayılan Olarak Güvenli — Hassas veriler varsayılan olarak gizlidir
✅ Laravel Yerli — Laravel hizmet sağlayıcılarını kullanır
Kurulum
Kurulum
Adım 1: Composer ile Kurulum
Adım 1: Composer ile Kurulum
composer require sbasu/laravel-actuator
Adım 2: Konfigürasyonu Yayınla
Adım 2: Konfigürasyonu Yayınla
php artisan vendor:publish --tag=actuator-config
Adım 3: Tamamlandı!
Adım 3: Tamamlandı!
php artisan serve
curl http://localhost:8000/actuator/health
Güvenlik
Güvenlik
Paket, varsayılan olarak güvenlidir:
- ✅ Sağlık uç noktaları herkese açıktır (güvenli)
- ✅ Ortam uç noktası devre dışı bırakılmıştır (güvenlik)
- ✅ Hassas veriler ifşa edilmez
- ✅ Gerekirse kimlik doğrulama ekleyebilirsiniz
Ortama uç noktasını yalnızca geliştirme sırasında etkinleştirin:
ACTUATOR_SHOW_ENV=true
Konfigürasyon
Konfigürasyon
Davranışı config/actuator.php dosyasında özelleştirin:
return [
'path' => 'actuator', // URI ön eki
'middleware' => ['api'], // Uygulanan middleware
'indicators' => [ // Sağlık kontrolleri
'database' => true,
'disk_space' => true,
'cache' => true,
'queue' => true,
],
'show_details' => true, // Sağlık detaylarını göster
'show_env' => false, // Ortam değişkenleri (devre dışı)
'log_access' => false, // İstekleri günlüğe kaydet
];
Versiyon Uyumluluğu
Versiyon Uyumluluğu
- PHP: 8.1+
- Laravel: 10, 11, 12, 13+
Sıradaki Ne?
Sıradaki Ne?
Bu, Spring Boot’tan Laravel’e bir dizi paketin ilki. Yakında:
- Laravel Profilleri (ortam bazında konfigürasyon)
- Laravel Deposu (veri erişim kalıpları)
- Laravel Olayları (gelişmiş olay hattı)
Hedef: Spring Boot’tan Laravel’e kurumsal düzeyde kalıplar getirmek.
Geri Bildiriminiz Bizim İçin Önemli
Geri Bildiriminiz Bizim İçin Önemli
Hangi Spring Boot kalıplarını Laravel’de görmek istersiniz?
Aşağıda yorum yapın!
- Konfigürasyon Sunucusu?
- Depo Deseni?
- Olay Hattı?
- Başka bir şey?
Geri bildirimleriniz yol haritasını şekillendiriyor.
Bağlantılar
Bağlantılar
GitHub Repo: https://github.com/sbasu/laravel-actuator
GitHub README: https://github.com/sbasu/laravel-actuator#readme
Packagist: https://packagist.org/packages/sbasu/laravel-actuator
İyi izlemeler! 🚀
Kaynak: Orijinal Makale


