Tiesto

WFN Üye
Konular
341
Mesajlar
341
Çözüm
0
Ticaret Puanı
0
Üyelik
19 Gün
Konum
Antalya
Web Sitesi
Var
Alanı
Domain Uzmanı
1/1
Konu sahibi

Log dosyaları büyürken servisi düşürmeden bakım yapmak​


Birçok sunucuda asıl sorun logların varlığı değil, onların ne zaman ve nasıl döndürüleceğidir. Log dosyaları kontrolsüz büyüdüğünde disk alanı şişer, analiz zorlaşır ve bazı servislerde yazma hataları başlayabilir. Bu yüzden log rotasyonu, bakım işleri arasında en erken planlanması gereken adımlardan biridir.

Neden yalnızca dosyayı taşımak yetmez​


Bazı servisler log dosyasını açık tutar ve eski dosya adını hemen bırakmaz. Dosyayı sadece yeniden adlandırıp arşive almak, servis yeni dosya tanımadan devam ediyorsa kayıtların eski dosyada yazılmayı sürdürmesine yol açabilir. Apache dokümantasyonu bu yüzden döndürme işleminden sonra servise log dosyalarını yeniden açtırmak için graceful reload önerir. Aynı kaynak, bu işlemin açık bağlantıları kesmeden yapılabildiğini de belirtir.

Buradaki pratik ayrım şudur: dosyayı döndürmek bir depolama işlemidir, servise yeniden okumasını söylemek ise çalışma zamanı işlemidir. İkisini ayrı düşünmek gerekir.

Güvenli bir akış nasıl kurulur​


Sağlam bir bakım akışında genelde şu sıra izlenir:
  • Yeni log dosyası oluşturulur veya döndürme aracı tarafından hazırlanır.
  • Eski dosya arşive alınır ve gerekiyorsa sıkıştırılır.
  • Servise reload veya graceful komutu gönderilir.
  • Kısa bir gecikmeden sonra eski dosyada yazma kalmadığı doğrulanır.
Apache tarafında logrotate kullanılıyorsa postrotate bölümünde graceful reload çağrılması bu yüzden önemlidir. Eğer servis bu modeli desteklemiyorsa, dosyayı serbest bırakma yöntemi ayrıca doğrulanmalıdır.

Yanlış yapılandırmada görülen tipik hatalar​


En sık yapılan hata, döndürme komutunu çalıştırıp servis tarafında ek adım gerekip gerekmediğini kontrol etmemektir. Bunun sonucu olarak:
  • Eski log dosyası boşalmış sanılır ama servis yazmaya devam eder.
  • Arşivlenen dosya beklenenden büyük kalır.
  • Yeni log dosyası oluşur ama uygulama onu açmamıştır.
  • Disk alanı sorunu çözülmüş gibi görünse de birkaç saat sonra aynı sorun geri döner.
Bir başka hata da log dizinine gereğinden geniş yazma yetkisi vermektir. Apache belgeleri, log dizinine yazabilen bir kişinin sunucunun çalıştığı yetki seviyesine ulaşabileceğini açıkça uyarı konusu yapar. Bu yüzden loglar üzerinde işlem yapan kullanıcı ile log dizinine yazan servis hesabı birbirine karıştırılmamalıdır.

Ne zaman yeniden başlatma, ne zaman reload​


Yapılandırma değişmediyse ve servis bunu destekliyorsa reload çoğu zaman yeterlidir. Çünkü amaç bağlantıları kesmeden yeni ayarı devreye almaktır. Ancak yapılandırma dosyası sözdizimi hatası içeriyorsa veya servis reload ile güvenli kalamıyorsa, önce test etmek ve gerekiyorsa planlı restart yapmak gerekir. Apache'nin apachectl aracı da restart öncesi yapılandırma kontrolü yapabildiğini belirtir.

Bu, özellikle log rotasyonu ile birlikte çalışırken önemlidir. Çünkü bakım penceresi kısa tutulmak istenirken hata durumunda servisi tamamen düşürmek istemezsiniz. Doğru tercih, servis davranışına göre değişir; tek bir komut her ortam için doğru değildir.

Disk doluluğu neden sadece log konusu değildir​


Log rotasyonu çoğu zaman disk alanı sorununu çözer ama tek başına yeterli değildir. Uygulamanın cache dizinleri, geçici dosyaları ve yedek çıktıları da benzer baskı yaratabilir. Bu yüzden log bakımını yaparken aynı anda hangi dizinlerin en hızlı büyüdüğünü de kontrol etmek faydalıdır. Plesk belgelerinin server administration altında disk alanı izlemesini ayrıca vurgulaması da bu yüzden anlamlıdır.

Özet karar şudur: log rotasyonunu sadece temizlik işi gibi değil, servis davranışı, izinler ve disk sağlığıyla birlikte yönetilen bir bakım adımı olarak planlayın. En güvenli yaklaşım, döndürme sonrası servisin logları yeniden açtığını doğrulamak ve log dizinini gereksiz ayrıcalıklardan uzak tutmaktır.
 

Sende şimdi bize katılmak ister misin?

Kayıt ol

Bize katılım kolay ve ücretsizdir!

Foruma git ?

Bu konuyu görüntüleyen kullanıcılar

Bu konuyu şu anda görüntüleyen üye bulunmuyor.
Robotlar:
  • Anthropic