Mövzunu Açan
#1
journalctl ile önceki açılış günlüklerini inceleme
1) Sistem açılışıyla ilgili ana kayıtları bulmak
2) Başlıklar ve önemli alanlar nasıl okunur?
3) Zaman filtreleriyle odaklanma
4) Öne çıkan örnek senaryolar
5) Sonuçların kaynağa göre ayrıştırılması
6) Pratik ipuçları
Bu yöntemi kendi sisteminde hangi açılış sorunu için kullanacağını ve elde ettiğin belirgin bir bulgu varsa paylaş. Ayrıca hangi filtrelerin senin senaryonda en çok işe yaradığına dair deneyimlerin varsa tartışmaya açıksın.
Bu konu, sistemin açılışında neler olduğuna dair geçmiş kayıtları nasıl etkili bir şekilde analiz edebileceğinizi adım adım gösterir. Özellikle erken aşamalarda yaşanan hataları, düşen hizmetleri veya çekirdek mesajlarını anlamak için journalctl komutunun sunduğu filtreleme ve zaman aralığı seçeneklerini kullanmayı hedefliyoruz.
1) Sistem açılışıyla ilgili ana kayıtları bulmak
- Peki hangi kayıtlar açılışla doğrudan ilişkilidir? Şu komutlar genelde en bilinen başlangıç noktalarıdır:
- journalctl -b: En son açılıştan (kullanıcı oturumları dahil değildir) başlayarak tüm günlükleri gösterir.
- journalctl -b -1, -2, ...: Bir önceki açılıştan bir öncekine kadar olan günlükleri getirir. Bu sayede önceki açılışın hatalarını veya sorunlu yeterlikleri inceleyebilirsin.
- journalctl -b -1 -p err..warning: Son açılıştaki hata ve uyarıları filtreler.
2) Başlıklar ve önemli alanlar nasıl okunur?
- Açılışla ilgili olaylar genellikle "kernel" veya "systemd" etiketleri altında belirir. Önemli başlıklar şunlardır:
- Kernel mesajları: Dmesg benzeri çıktı gibi düşük seviyeli olaylar.
- Service başlatma sırası: systemd birimlerinin hangi sırayla başlatıldığı, hangi aşamada durduğu veya başarısız olduğu.
- Mount ve fs olayları: Dosya sistemi bağlantıları, disk eşleşmeleri ve failed mount mesajları.
- Network başlatma: ağ arayüzlerinin konfigürasyonu ve bağlantı sorunları.
3) Zaman filtreleriyle odaklanma
- Zaman aralığını daraltmak için:
- journalctl --since "YYYY-MM-DD HH:MM:SS" --until "YYYY-MM-DD HH:MM:SS"
- journalctl --since "today" --until "now"
- journalctl -S kullanılabilir: --since ile aynı işlevi görür.
4) Öne çıkan örnek senaryolar
- Sistem açılırken sıkışan bir hizmet: journalctl -b -p err..warning -u hizmet-adı
- Kök dosya sistemi veya kök dizin hataları: journalctl -k -p err..warning --since "1 hour ago"
- Disk veya dosya sistemi hataları: journalctl -k | grep -i zfs|ext4 gibi filtreler için eşleşen anahtar kelimeler kullanımı
5) Sonuçların kaynağa göre ayrıştırılması
- Hatalı hizmetler: systemd journal içindeki birim adlarıyla -u parametresi kullanılarak izlenir.
- Çekirdek mesajları: -k veya -p emerg, alert gibi çekirdek seviyesindeki mesajlar için ayrıştırılır.
- Çıkışlar ve hatalar arasındaki ilişki için birden çok filtreyle birleştirme yapılabilir: journalctl -b -p err..warning -u mysqld.service --since "today"
6) Pratik ipuçları
- Daha temiz çıktı için --no-pager veya --output short-precise kullanımı.
- Özellikle belirli bir anahtar kelime için arama: journalctl -b -g "ağ" veya journalctl -b | grep -i network
- Dosya boyutu veya görsel olmayan çıktı için --no-hostname ekleyebilirsin.
Özetlemek gerekirse, önceki açılışa ait tüm olayları -b flagiyle gezebilir, -p ile seviyelerini filtreleyebilir, -u ile belirli bir birimin durumunu izleyebilir ve --since/--until ile zaman odaklı analiz yapabilirsin. Bu sayede açılış sırasında hangi aşamada sorun çıktığını netleştirmek mümkün olur.
Bu yöntemi kendi sisteminde hangi açılış sorunu için kullanacağını ve elde ettiğin belirgin bir bulgu varsa paylaş. Ayrıca hangi filtrelerin senin senaryonda en çok işe yaradığına dair deneyimlerin varsa tartışmaya açıksın.
