Sunucuda bir hata oluştuğunda bütün günlükleri aynı anda okumak yerine olayın zamanı ve ilgili hizmetle başlamak daha etkilidir. Journald, systemd ortamında çeşitli sistem ve hizmet kayıtlarını toplar. Journalctl bu kayıtları filtreleyerek okumaya yardımcı olur. Bir kaydın bulunmaması olayın gerçekleşmediğini kesin göstermez; saklama süresi, yetki veya hizmetin başka dosyaya yazması sonucu etkileyebilir. İnceleme yaparken kanıtları korumak, özel bilgileri sınırlamak ve aynı zaman aralığını uygulama ölçümleriyle karşılaştırmak önemlidir.
Hazırlık
Sorunun yaklaşık başlangıç zamanını, etkilenen hizmeti ve gözlenen kullanıcı hatasını kaydedin. Sunucu saat dilimi ile kullanıcının gördüğü saat farklı olabilir. Önce bu farkı belirleyin. Günlüklere erişim yetkisi kurum politikasına uygun olmalıdır. Sudo gerekmesi her kullanıcıya genel yönetici hakkı vermenizi gerektirmez; günlük okuma ihtiyacı dar biçimde yönetilebilir. İçerikte token, bağlantı bilgisi veya kişisel veri bulunabileceğinden çıktıyı rastgele sohbet kanalına kopyalamayın. İnceleme amacı olmayan kayıtları yaymayın.
Okuma sırası
Araştırmanın amacını tek cümleyle yazmak yardımcıdır: belirli zamanda hangi hizmet neden yanıt vermedi? Bu soru filtreyi yönlendirir. Birbirinden bağımsız eski hataları aynı olayın nedeni gibi değerlendirmeyin.
- İlgili hizmeti filtreleyin.
journalctl -u uygulama.service --since "1 hour ago"son bir saat için örnek okuma komutudur; gerçek hizmet adını ve yetki gereksinimini doğrulayın. Tüm sunucu çıktısını okumak yerine hatanın meydana geldiği kısa aralıkla başlayın. Başlangıçtan önceki birkaç dakika, hatanın nedenini gösterebilir. Uygulamanın web erişim günlüğü başka dosyadaysa onu da uygun şekilde inceleyin. Systemd hizmet adıyla uygulama markasının aynı olması gerekmez. - Açılış sınırını değerlendirin.
journalctl -bmevcut açılış kayıtlarını seçebilir; desteklenen ortamda önceki açılışlar listelenip ilgili dönem incelenebilir. Sunucu yeniden başlamışsa yalnız güncel açılışa bakmak önceki arızayı kaçırabilir. Kayıtların kalıcı saklanıp saklanmadığı journald yapılandırmasına ve disk durumuna bağlıdır. Yeniden başlatma öncesi verilerin mutlaka bulunacağını varsaymayın. Olaydan sonra saklama politikasını değiştirmek geçmişte kaybolmuş kayıtları geri getirmez. - Hata satırını bağlamıyla okuyun. Önceki izin, bağlantı veya disk hatası sonraki servis çöküşünün nedeni olabilir. Yalnız en son failed satırını paylaşmak eksik teşhis oluşturur. PID, unit adı ve zaman bilgisi farklı süreçleri ayırmaya yardımcı olur. Aynı mesajın çok tekrarlanması tek bir sorunun döngüsü olabilir. Seviyeye göre filtre kullanmak yardımcıdır, ancak sadece yüksek öncelik seçmek önemli bilgilendirici bağlamı dışarıda bırakabilir. Önce aralığı belirleyip sonra filtreyi daraltın.
- Canlı takip gerekiyorsa
journalctl -u uygulama.service -file kısa kontrollü gözlem yapılabilir. Test isteğinin zamanı ve beklenen sonucu kayıtla karşılaştırın. Özel kullanıcı işlemlerini sırf hata üretmek için tekrarlamayın. Başka bir kişinin mesajını veya kimlik bilgisini günlükte göstermeye gerek yoktur. İnceleme bittiğinde takibi sonlandırın ve gerekli kanıtı uygun erişimli konuma kaydedin. Kontrolsüz uzun süreli terminal kaydı hassas verilerin daha fazla kopyasına neden olabilir.
Saklama ve bakım
journalctl --disk-usage mevcut kullanımın görülmesine yardımcı olabilir. Disk alanı sorunu varsa geçmişi rastgele silmeden önce saklama ve olay kanıtı ihtiyacını değerlendirin. Journald boyut ve süre ayarları planlı politika olarak düzenlenmelidir; inceleme sırasında aniden bütün eski kayıtları temizlemeyin. Uygulama günlüklerinin konumu, merkezi kayıt sistemi ve erişim izinleri birlikte belgelenmelidir. Düzenli zaman senkronizasyonu da karşılaştırmayı kolaylaştırır. Sonuçta sorun, desteklenen düzeltme ve doğrulama zamanı açık biçimde yazılmalıdır.
Sık sorulan sorular
Journal boşsa hizmet kesin hiç çalışmamış mıdır?
Hayır. Yetki, filtre, saklama veya farklı günlük hedefi etkili olabilir. Hizmetin gerçek kayıt yöntemini ve doğru zaman aralığını kontrol edin.
Destek için tüm günlük dosyasını göndermeli miyim?
Genellikle ilgili zaman ve hizmet kapsamı yeterli başlangıç sağlar. Özel verileri gizleyin; tam kayıt gerekiyorsa yetkili güvenli paylaşım yolunu kullanın ve erişimi sınırlayın.
Resmi kaynaklar
Süreç özeti
Journald günlüklerinden zaman aralığıyla hata inceleme
| Adım | Kontrol |
|---|---|
| 1 | Olay zamanı |
| 2 | Hizmet filtresi |
| 3 | Açılış karşılaştırma |
| 4 | Hata bağlamı |
| 5 | Güvenli kayıt paylaşımı |
