Teknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor HaberleriTeknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor HaberleriTeknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor Haberleri
Yazı Tipi BoyutlandırıcıAa
  • Anasayfa
  • Teknoloji
    • Siber Güvenlik
    • Yapay Zeka
    • Donanım
    • Bilim
  • Yazılım
  • Savunma & İstihbarat
  • Oyun
  • Yaşam
    • Finans
    • Sinema
    • Dünyadan Haberler
  • İş Birliği
Okuma: PHP/Laravel Uygulamanızın Çalışma Süresini Nasıl İzlersiniz (Ve Çöktüğünde Nasıl Bildirim Alırsınız)
Paylaş
Yazı Tipi BoyutlandırıcıAa
Teknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor HaberleriTeknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor Haberleri
Ara
Bizi Takip Et
  • Hakkımızda
  • Gizlilik politikası
  • Tanıtım Yazısı ve Backlink Hizmeti
© 2026 Teknomers. All Rights Reserved.

Anasayfa » PHP/Laravel Uygulamanızın Çalışma Süresini Nasıl İzlersiniz (Ve Çöktüğünde Nasıl Bildirim Alırsınız)

Yazılım

PHP/Laravel Uygulamanızın Çalışma Süresini Nasıl İzlersiniz (Ve Çöktüğünde Nasıl Bildirim Alırsınız)

teknomers
Son güncelleme: 29 Haziran 2026 18:20
teknomers
Paylaş
Paylaş

Laravel uygulamanız sabah 2’de kapandı. Bunu sabah 9’da bir müşteriniz size e-posta gönderdiğinde öğrendiniz. Bu durum size tanıdık geliyor mu?

Çoğu Laravel eğitimi dağıtım (deploy) aşamasında sona erer. Bu makale burada devreye giriyor. Sonunda HTTP çalışma süresi (uptime) izleme, kuyruklu işlerin ve Artisan komutlarının kalp atış hızı kontrolleri, Slack uyarıları, halka açık bir durum sayfası ve README’nizde canlı bir durum rozeti elde edeceksiniz — hepsi 30 dakikadan kısa sürede, ücretsiz.




PHP Geliştiricilerinin En Çok Kaçırdığı İki Hata

Laravel üretim hataları, doğru araçlar olmadan fark edilmeden kalan iki kalıba düşer:

Endpoint arızaları — uygulamanız 500 hata kodları vermeye veya zaman aşımına uğramaya başlar. Kullanıcılar kırık bir sayfada takılır. Siz bunun farkına, ancak kullanıcılar şikayet ettiğinde varırsınız (ya da şikayet etmezler ve sadece giderler).

Gizli kuyruk hataları — kuyruk işçileriniz işlemleri işlemeyi durdurur. E-postalar gönderilmez. Webhooklar teslim edilmez. Raporlar üretilmez. Hiçbir istisna atılmaz. Hiçbir şey kaydedilmez. Sadece sessizce sonuç almaya devam etmeyi bırakırsınız, ta ki aşağı akışta bir şey bozulana kadar.

Her ikisi de bir sağlık endpoint’i ve bir izleme aracı ile çözülebilir. Şimdi bunları bağlayalım.




Adım 1: Bir sağlık kontrolu rotası ekleyin

Laravel, kutudan çıktığında bir sağlık endpoint’iyle gelmez, ancak eklemek yaklaşık iki dakikanızı alır.

spatie/laravel-health paketini yükleyin:

composer require spatie/laravel-health

Migasyonları yayınlayın ve çalıştırın:

php artisan vendor:publish --tag="health-migrations"
php artisan migrate

Kontrollerinizi AppServiceProvider içinde kaydedin:

// app/Providers/AppServiceProvider.php
use Spatie\Health\Facades\Health;
use Spatie\Health\Checks\Checks\DatabaseCheck;
use Spatie\Health\Checks\Checks\CacheCheck;
use Spatie\Health\Checks\Checks\UsedDiskSpaceCheck;

public function boot(): void { Health::checks([ new DatabaseCheck(), new CacheCheck(), UsedDiskSpaceCheck::new()->failWhenUsedSpaceIsAbovePercentage(90), ]); }

Paket otomatik olarak bir /up rotası kaydeder. Bunu yerel ortamda doğrulayabilirsiniz:

php artisan serve
curl http://localhost:8000/up
# {"finishedAt":"...","checkResults":[...]}

Bir 200 sağlıklı demektir. Bir 500 bir şeylerin yanlış olduğunu gösterir — ve tam olarak neyin yanlış olduğunu size bildirir.

Minimal, sıfır bağımlılığa sahip bir sağlık kontrolü tercih ediyorsanız, kendiniz de bir tane ekleyebilirsiniz:

// routes/web.php
Route::get('/health', function () {
    try {
        DB::connection()->getPdo();
        return response()->json(['status' => 'ok']);
    } catch (\Exception $e) {
        return response()->json(['status' => 'error', 'message' => $e->getMessage()], 500);
    }
});

Her iki yaklaşım da işe yarar. Önemli olan, uygulamanız sorun yaşadığında 200 olmayan bir URL’ye sahip olmanızdır.




Adım 2: HTTP çalışma süresi izleme ayarlayın

Sağlık endpoint’iniz aktif durumda, bunu Vigilmon‘a yönlendirin:

  1. vigilmon.online‘da ücretsiz bir hesap oluşturun
  2. Yeni İzleyici → HTTP seçeneğine tıklayın
  3. https://yourdomain.com/up (ya da /health) girin
  4. Kontrol aralığını 5 dakika olarak ayarlayın (ücretsiz seviyede)
  5. Kaydedin

Vigilmon endpoint’inizi her 5 dakikada bir birden fazla yerden pingler. Eğer bir 200 yerine farklı bir kod dönerse ya da zaman aşımına uğrarsa, hemen uyarı alırsınız.

Ayrıca, kritik rotalar için ayrı izleyiciler de ekleyebilirsiniz:

  • https://yourdomain.com/ — ana sayfanız çalışıyor
  • https://yourdomain.com/api/ping — API katmanınız yanıt veriyor
  • https://yourdomain.com/login — yetkilendirme akışınız erişilebilir

Her monitör bağımsız çalışır. Eğer API’niz kapanırsa ancak ana sayfanız sorunsuzsa, hangi katmanın bozulduğunu tam olarak bileceksiniz.




Adım 3: Kuyruklu işler için kalp atış hızı izleme

HTTP izleme sunucu arızalarını yakalar. Ancak sessizce duran işler için ne yapmalıyız?

Kalp atış hızı deseni: işiniz başarılı bir şekilde tamamlandıktan sonra bir URL’yi pingler. Eğer Vigilmon belirli bir süre boyunca ping almazsa, size hemen uyarı verir — iş başarısız olmuş olsa bile, bir istisna fırlatmış olsa bile, ya da tamamen süreklenmeyi durdurmuşsa bile.

İşte bir Laravel işi ile kalp atış hızı:

// app/Jobs/SendDailyDigestJob.php
namespace App\Jobs;

use Illuminate\Bus\Queueable; use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Foundation\Bus\Dispatchable; use Illuminate\Queue\InteractsWithQueue; use Illuminate\Support\Facades\Http;

class SendDailyDigestJob implements ShouldQueue { use Dispatchable, InteractsWithQueue, Queueable;

public function handle(): void
{
    // Gerçek iş mantığınız
    $this->sendDigestEmails();

    // Başarılı bir şekilde ping atın
    $heartbeatUrl = config('services.vigilmon.digest_heartbeat_url');
    if ($heartbeatUrl) {
        Http::timeout(5)->get($heartbeatUrl);
    }
}

private function sendDigestEmails(): void
{
    // buraya mantığınızı ekleyin
}

}

URL’yi konfigürasyonunuza ekleyin:

// config/services.php
'vigilmon' => [
    'digest_heartbeat_url' => env('VIGILMON_DIGEST_HEARTBEAT_URL'),
],
# .env
VIGILMON_DIGEST_HEARTBEAT_URL=https://vigilmon.online/heartbeats/your-unique-token

Vigilmon’da bir Kalp Atış İzleyicisi oluşturun:

  1. Yeni İzleyici → Kalp Atışı seçeneğine tıklayın
  2. Beklenen aralığı ayarlayın (örneğin, her 24 saatte bir)
  3. Tekil ping URL’sini kopyalayın
  4. Bunu VIGILMON_DIGEST_HEARTBEAT_URL olarak ortamınıza ayarlayın



Artisan komutlarıyla da çalışır

Scheduled tasks(using artisan schedule:run) ile çalışıyorsanız, aynı desen geçerlidir:

// app/Console/Commands/GenerateReportsCommand.php
namespace App\Console\Commands;

use Illuminate\Console\Command; use Illuminate\Support\Facades\Http;

class GenerateReportsCommand extends Command { protected $signature = 'reports:generate'; protected $description = 'Günlük raporları oluştur';

public function handle(): int
{
    $this->generateReports();

    // Başarı durumunda kalp atışı gönder
    $url = config('services.vigilmon.reports_heartbeat_url');
    if ($url) {
        Http::timeout(5)->get($url);
    }

    return Command::SUCCESS;
}

}

Bunu zamanlayıcınıza kaydedin:

// app/Console/Kernel.php (ya da Laravel 11+ için routes/console.php)
Schedule::command('reports:generate')->dailyAt('06:00');

Kalp atışı, gerçek icrayı izler — sadece cron’un çalışıp çalışmadığını değil. Eğer komut ortada çökerse, ping gönderilmez ve uyarı alırsınız.




Adım 4: Slack veya e-posta ile uyarılar

Vigilmon’da hangi şekilde bildirim almak istediğinizi yapılandırın:

Slack için:

  1. Slack iş alanınızda bir gelen webhook oluşturun
  2. Vigilmon’da Bildirimler → Yeni Kanal → Slack seçeneğine gidin
  3. Webhook URL’sini yapıştırın
  4. Her monitörde etkinleştirin

E-posta için:

  1. Vigilmon’da Bildirimler → Yeni Kanal → E-posta seçeneğine gidin
  2. Adresinizi veya bir dağıtım listesini girin
  3. Monitörlerinizde etkinleştirin

Uyarı mesajları şu şekilde görünmektedir:

🔴 KAPALI: yourdomain.com/up
Durum: 500 Internal Server Error
Tespit edilen: ABD-Doğu, AB-Batı
3 dakika önce

İyileşme bildirimi:

✅ İYİLEŞTİ: yourdomain.com/up YENİDEN AÇIK
Kapanma süresi: 14 dakika

Kalp atışı bildirimi:

🔴 KAÇIRILDI: Günlük Özet İş Kalp Atışı
Beklenen her: 24 saat
Son ping alındı: 26 saat önce



Adım 5: Halka açık durum sayfası ve README rozeti

Halka açık bir durum sayfası, kullanıcılarınızın “sadece ben mi?” sorusunu yanıtlar — ve olaylar sırasında destek gürültüsünü azaltır.

Vigilmon’da:

  1. Durum Sayfaları → Yeni Durum Sayfası seçeneğine gidin
  2. Bir ad verin ve hangi izleyicileri göstereceğinizi seçin
  3. Halka açık URL’yi kopyalayın ve belgelerinizde, alt bilgide veya hata sayfalarınızda paylaşın

Ayrıca, GitHub README’nize canlı bir durum rozeti de yerleştirebilirsiniz. Vigilmon’da her izleyici için bir rozet uç noktası bulunmaktadır:

https://vigilmon.online/badge/{your-monitor-slug}

Rozet mevcut durumu gösterir (up, down veya degraded) ve yanıt süresini. README.md dosyanıza ekleyin:

![Uptime](https://vigilmon.online/badge/your-monitor-slug)

Ya da durum sayfanıza bir bağlantı veren bir HTML gömme olarak:




Yapmış Olduğunuz Şeyler

NeNasıl
HTTP çalışma süresi izleme /up rotası + Vigilmon HTTP monitörü
Veritabanı / önbellek sağlığı spatie/laravel-health kontrolleri
Kuyruk iş izlemeHer işin sonunda kalp atışı ping’i
Artisan komut izlemeBaşarılı tamamlama durumunda kalp atışı ping’i
Anlık uyarılarSlack veya e-posta webhook bildirimleri
Halka açık durum sayfasıVigilmon durum sayfası
README durumu rozet /badge/{slug} SVG gömülü

Tüm bu sistemin maliyeti Vigilmon’un ücretsiz seviyesinde 0$ ve günlerce süren sessiz kuyruk hatasını bulmaktan daha kısa bir süre alır.




Sonraki Adımlar

  • Kritik arka plan işleri için her birinin kalp atışını ekleyin, sadece günlükler için değil
  • Yanıt süre trendlerini izleyin — yavaşlama genellikle tam bir kesintiden saatler önce tespit edilebilir
  • Kontrol kontrollerinize UsedDiskSpaceCheck ve RedisCheck ekleyin, böylece disk dolu olayları ve önbellek hataları, kesintiye neden olmadan önce ortaya çıkabilir

Ücretsiz olarak başlayın: vigilmon.online.

Kaynak: Orijinal Makale

Contents
  • PHP Geliştiricilerinin En Çok Kaçırdığı İki Hata
  • Adım 1: Bir sağlık kontrolu rotası ekleyin
  • Adım 2: HTTP çalışma süresi izleme ayarlayın
  • Adım 3: Kuyruklu işler için kalp atış hızı izleme
    • Artisan komutlarıyla da çalışır
  • Adım 4: Slack veya e-posta ile uyarılar
  • Adım 5: Halka açık durum sayfası ve README rozeti
  • Yapmış Olduğunuz Şeyler
  • Sonraki Adımlar
PHP/Laravel ile EasyShip API Kullanarak Uluslararası Gönderimleri Basitleştirin
Kod Mirası Efsanesini Yıkmak: Yapay Zeka Destekli ERP’den Laravel 10’a Geçiş
Laravel/Nightwatch’ı kendi Postgres’imle yönlendirdim ve tek bir örnekte 13,400 yükleme/s hızına ulaştım.
PHP Ölmedi. Aksine – Verilerin Gösterdiği Gerçekler Şunlar
Laravel Geliştiricileri için WebSockets 101: Kavramdan Üretime Deploynix Üzerinde
Bu Makaleyi Paylaş
Facebook Bağlantıyı Kopyala Yazdır
Paylaş
Önceki Makale Acil: Linux Çekirdek Açıkları, AI Zararlıları ve Daha Fazlası!
Sonraki Makale Steamroller: SteamOS ile gelen ilk hazır oyun PC’si, 1299$’dan ön siparişte

Sanal Medya

FacebookBeğen
452Takip Et
PinterestSabitle
237Takip Et

Son Eklenenler

Cursor mobil uygulamasıyla kodlama yardımı cebinizde!
Yapay Zeka
Nvidia RTX 3060 12GB, 5 yıl sonra 339 dolara geri döndü
Donanım
Temmuz 4 İndirimlerinde Gözden Kaçırılmaması Gereken Fırsatlar
Liste
WhatsApp Acil: Kullanıcı Adları ile Telefon Numaralarını Gizleyin
Siber Güvenlik
Trump Yönetimi Yeni Elektrik Tedarikine Düzenleme Engeli Getiriyor
Genel
WhatsApp’ta Kullanıcı Adları Geliyor! Siz de Rezervasyon Yapın!
Genel
//

Siber güvenlik, yapay zeka ve savunma sanayiinden; finans ve sinema dünyasına uzanan geniş bir yelpaze. Teknomers; teknoloji, strateji ve yazılım dünyasını sade bir dille sizlerle buluşturuyor.

Kurumsal

  • Hakkımızda
  • Gizlilik politikası
  • Tanıtım Yazısı ve Backlink Hizmeti

Kategoriler

  • Teknoloji
  • Oyun
  • Sinema
  • Siber Güvenlik
  • Bilim
  • Finans
  • Dünyadan Güncel Haberler

Populer

  • TV'de Ücretsiz İzlenebilen Şifresiz Erotik Kanallar (2025 Güncel Frekans Listesi)

  • The Last of Us PC Kontrolleri: Hızlı Silah Değiştirme ve Tüm Tuşlar (2025)

  • Hogwarts Legacy'de Odaklanma İksiri Nasıl Yapılır?

Teknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor HaberleriTeknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor Haberleri
Bizi Takip Et
© 2026 Teknomers. All Rights Reserved.
Welcome Back!

Sign in to your account

Kullanıcı Adı veya E-posta Adresi
Şifre

Şifrenizi mi unuttunuz?