Muzibu Log Analizi

Kritik Sorunlar ve Döngüler Raporu

8,833
Toplam Hata
5
Kritik Sorun
%90
Disk Doluluk
52,259
Log Satırı

⚠️ Acil Müdahale Gerekli

Sistem loglarında 5 kritik sorun tespit edildi. Bunlardan en önemlisi disk alanının %90'a ulaşması ve PayTR ödeme döngüsü. Redis yazma işlemleri disk doluluk nedeniyle durmuş durumda. Ayrıca bazı kod hataları kullanıcı deneyimini olumsuz etkiliyor.

DİSK %90 REDİS MISCONF ÖDEME DÖNGÜSÜ SESSION HATASI KOD HATALARI

1 Kritik Sorunlar (Acil)

🔴 Disk Alanı Kritik Seviyede

ACİL

📝 Basit Anlatım:

Sunucunun sabit diskinde sadece %10 yer kaldı (789GB/885GB kullanılıyor, 96GB boş). Bu durum sistemi yavaşlatıyor ve bazı işlemlerin yapılamamasına neden oluyor. Örneğin:

  • Görseller cache'lenemiyor (thumbmaker hatası)
  • Redis veritabanı yazamıyor (MISCONF hatası)
  • Blade template'ler derlenemiyor
  • Session bilgileri kaydedilemiyor

🔧 Teknik Detaylar:

Disk Kullanımı: /dev/md3: 885G total, 789G used, 96G available (90% full)
Hata Mesajları: file_put_contents(): Failed to open stream: No space left on device storage/tenant1001/app/public/thumbmaker-cache/*.webp

Thumbmaker Cache: 642MB

Etkilenen Dosyalar:

  • storage/tenant1001/app/public/thumbmaker-cache/
  • storage/framework/views/*.php (Blade compiled)

✅ Çözüm Önerileri:

  1. Thumbmaker cache temizle: 642MB yer kazanılır
  2. Eski log dosyalarını sil/arşivle: storage/logs/*
  3. Laravel cache temizle: storage/framework/cache/*
  4. Eski backup dosyalarını kontrol et
  5. Media library'de kullanılmayan dosyaları sil

🔴 Redis Yazma Hatası (MISCONF)

KRİTİK

📝 Basit Anlatım:

Redis (hızlı veri saklama sistemi), disk dolduğu için verilerinizi kaydedemediğini söylüyor ve yazma işlemlerini engelliyor. Bu durum:

  • Session'lar kaydedilemiyor (kullanıcılar logout olabilir)
  • Cache yazılamıyor (site yavaşlıyor)
  • Queue işleri engellenebilir

⚠️ Bu hata disk doluluk sorunu çözülünce otomatik düzelecektir.

🔧 Teknik Detaylar:

RedisException: MISCONF Redis is configured to save RDB snapshots, but it is currently not able to persist on disk. Commands that may modify the data set are disabled, because this instance is configured to report errors during writes if RDB snapshotting fails (stop-writes-on-bgsave-error option).

Konum: vendor/laravel/framework/src/Illuminate/Redis/Connections/Connection.php:119

Etkilenen İşlemler: setex(), incrBy(), session storage

Tekrar Sayısı: 2 kez (03:14:50)

✅ Çözüm:

Disk alanı açıldıktan sonra Redis otomatik düzelecektir. Ek bir işlem gerekmez.

2 Ödeme Sistemi Sorunları

⚠️ PayTR Callback Döngüsü

DÖNGÜ

📝 Basit Anlatım:

PayTR ödeme sistemi, bazı ödemeler için sürekli tekrar tekrar callback (geri bildirim) gönderiyor. Özellikle Payment ID 563-574 arasındaki ödemeler her dakika hata mesajı üretiyor.

Sorun: PayTR, ödeme tutarını 0.00 TL olarak gönderiyor, ama sistem 720.00 TL veya 1.00 TL bekliyor. Bu uyumsuzluk nedeniyle işlem reddediliyor, ancak PayTR tekrar tekrar deniyor.

🔧 Teknik Detaylar:

34
Callback Tekrarı
12
Etkilenen Payment
~1 dk
Tekrar Sıklığı
[2026-01-15 03:28:08] ERROR: ❌ PayTR callback: Tutar uyumsuzluğu {"payment_id":563,"expected":"720.00","received":"0.00"} [2026-01-15 03:29:08] ERROR: ❌ PayTR callback: Tutar uyumsuzluğu {"payment_id":563,"expected":"720.00","received":"0.00"} ... 34 kez tekrar ediyor ...

En Çok Etkilenen Payment ID'ler:

  • Payment 566: 722 log satırı
  • Payment 573: 721 log satırı
  • Payment 571: 721 log satırı
  • Payment 568: 721 log satırı
  • Payment 563: 713 log satırı

İlave Hata:

❌ PayTR iframe token error: "merchant_oid benzersiz olmalidir, bu merchant_oid daha once kullanilmis (639045)" Payment ID: 566

✅ Çözüm Önerileri:

  1. Callback controller'ı incele: Neden 0.00 TL geliyor?
  2. PayTR webhook log'larını kontrol et: Test mode aktif mi?
  3. Merchant OID üretimi: Benzersizlik sorunu var
  4. Callback rate limiting ekle: Aynı payment_id için 1 dakikada 1 callback
  5. Test mode flag'ini kontrol et: paytr-requests.log'da "test_mode": "1"

3 Kod Hataları (Düzeltilmeli)

🔑

Session Store Not Set

165 KEZ

📝 Basit Anlatım:

Bazı isteklerde session (oturum bilgisi) sistemi başlatılmadan kullanılmaya çalışılıyor. Bu, muhtemelen API istekleri veya middleware sırası nedeniyle oluyor.

🔧 Teknik Detaylar:

RuntimeException: Session store not set on request. Location: vendor/laravel/framework/src/Illuminate/Http/Request.php:608 Occurrences: 165 times

✅ Çözüm:

API route'larında session kullanılmamalı veya middleware'de StartSession eklenmelidir.

❤️

Artist::toggleFavorite() Undefined

17 KEZ

📝 Basit Anlatım:

Kullanıcılar bir sanatçıyı favorilere eklerken/çıkarırken hata alıyor. Artist modeli üzerinde toggleFavorite() metodu tanımlı değil.

🔧 Teknik Detaylar:

BadMethodCallException: Call to undefined method Modules\Muzibu\App\Models\Artist::toggleFavorite() Location: vendor/laravel/framework/src/Illuminate/Support/Traits/ForwardsCalls.php:67 Called From: Modules\Favorite\App\Services\FavoriteService->toggleFavorite() User ID: 1528 Time: 15:08:49-15:08:50 Occurrences: 17 times

✅ Çözüm:

  1. Artist modelinde trait ekle: use HasFavorites veya Favoriteable
  2. Veya FavoriteService düzelt: toggleFavorite() metodu generic hale getir
  3. Diğer modelleri kontrol et: Song, Album, Playlist bu trait'e sahip mi?
📄

Livewire: Regex Too Large

3 KEZ

📝 Basit Anlatım:

Livewire, bir Blade template'i derlerken çok büyük bir regular expression (düzenli ifade) oluşturmaya çalışıyor ve PHP'nin sınırına takılıyor. Bu, muhtemelen çok fazla component veya içiçe geçmiş yapılar nedeniyle oluyor.

🔧 Teknik Detaylar:

ErrorException: preg_match(): Compilation failed: regular expression is too large at offset 37638 Location: vendor/livewire/livewire/src/Features/ SupportMorphAwareBladeCompilation/ SupportMorphAwareBladeCompilation.php:452 Times: 06:29:12, 07:50:16, 07:50:17 Occurrences: 3 times

✅ Çözüm Önerileri:

  1. Template'i böl: Çok büyük template'i küçük component'lere ayır
  2. Livewire versiyonu güncelle: Bu bilinen bir bug olabilir
  3. PHP pcre.backtrack_limit yükselt: php.ini ayarı
  4. Hangi template olduğunu bul: Log'da hangi view render ediliyordu?

4 Player (Müzik Çalar) Hataları

🎵 mediaSessionNotSupported

114 KEZ

📝 Basit Anlatım:

Android cihazlardaki kullanıcılar, müzik çalarken Media Session API'yi desteklemeyen tarayıcılar kullanıyor. Bu, bildirimlerde müzik kontrollerinin (play/pause/next) görünmemesi anlamına gelir.

Bu bir hata değil, bilgilendirme log'u. Eski cihazlarda normal bir durum.

🔧 Teknik Detaylar:

Action: mediaSessionNotSupported Total Occurrences: 114 times Device Example: Linux armv7l (Android 12) Browser: Chrome 143.0.7499.146

Örnek Cihaz: 9309X2_TR (600x1024 ekran)

User Agent: Android 12, Chrome 143

ℹ️ Not:

Bu bir uyumluluk sorunu, kritik değil. Kullanıcılar müzik dinleyebilir, sadece bildirim kontrollerini göremezler. Bu log'ları azaltmak için mediaSession kontrolünü try-catch içine alıp silent mode yapabilirsiniz.

5 Log Dosya İstatistikleri

Dosya Boyut Satır Durum
tenant-2026-01-15.log 5.3 MB 32,275 Büyük
laravel-2026-01-15.log 5.3 MB 17,811 Büyük
player-errors-2026-01-15.log 118 KB 113 Normal
paytr-requests.log 52 KB 1,464 Normal
laravel.log 38 KB 236 Normal
paytr-debug.log 5.4 KB 75 Normal
checkout-proceed-debug.log 4.3 KB 280 Normal
paytr-error.log 164 B 5 Normal
TOPLAM ~10.6 MB 52,259

🎯 Öncelik Sıralaması

  1. 1
    Disk Alanı Açma
    642MB thumbmaker cache + eski log'lar + framework cache
  2. 2
    PayTR Callback Döngüsünü Durdur
    Payment 563-574 sürekli hata üretiyor, rate limiting ekle
  3. 3
    Artist::toggleFavorite() Ekle
    Favorite trait'ini Artist modeline implement et
  4. 4
    Session Store Hatası
    API route'larında session kullanımını kontrol et
  5. 5
    Livewire Regex Hatası
    Büyük template'leri böl veya Livewire güncelle
15 Ocak 2026 • Muzibu.com