Autor del tema
#1
journalctl ile öncelik seviyesine göre filtreleme
Giriş ve kavramsal çerçeve
journalctl, systemd-journald tarafından oluşturulan merkezi günlük verilerini sorgulamak için kullanılan güçlü bir araçtır. Her giriş, genellikle bir öncelik seviyesiyle sınırlanabilir. Öncelik seviyeleri şu şekilde sınıflandırılır: emerg (0), alert (1), crit (2), err (3), warning (4), notice (5), info (6), debug (7). Bu sayılar, log mesajlarının kritiklik düzeyini belirtir ve filtreleme için doğrudan kullanılabilir.
Ana kullanım kalıbı ve temel örnekler
journalctl -p err
journalctl -p err.. emerg --since "24 hours ago"
journalctl -p warning --since "2024-11-01" --until "2024-11-02"
journalctl -p err /var/log/journal/.. (etiketleme ile birlikte birim filtrelemesi ayrıca --unit kullanılarak da yapılır)
journalctl -p warning --unit nginx.service
Çıktı yönetimi ve pratik ipuçları
Uygulama sınırları ve dikkat edilecek noktalar
Kullanım senaryoları ve deneyimleriniz: journalctl ile öncelik filtrelemesini kendi sistemlerinizde hangi senaryolarda, nasıl bir akışla uyguladınız? Özellikle üretim ortamlarında hangi kombinasyonlar en verimli sonuçları verdi?
Bu yazıda, systemd’nin günlük kaydını filtrelemek için öncelik (priority) seviyelerinin nasıl kullanıldığını somut örneklerle ele alacağım. Özellikle kritik ve hata düzeyindeki olayları hızlıca ayırt etmek, günlük hacmini azaltmak ve sorun analizini hızlandırmak için pratik çözümler paylaşacağım.
Giriş ve kavramsal çerçeve
journalctl, systemd-journald tarafından oluşturulan merkezi günlük verilerini sorgulamak için kullanılan güçlü bir araçtır. Her giriş, genellikle bir öncelik seviyesiyle sınırlanabilir. Öncelik seviyeleri şu şekilde sınıflandırılır: emerg (0), alert (1), crit (2), err (3), warning (4), notice (5), info (6), debug (7). Bu sayılar, log mesajlarının kritiklik düzeyini belirtir ve filtreleme için doğrudan kullanılabilir.
Ana kullanım kalıbı ve temel örnekler
- Belirli bir minimum öncelik ile filtreleme: sadece belirli veya daha kritik kayıtları görmek için -p/--priority bayrağına bir sayı veya bir dize verilir.
- Örnek: yüksek öncelikli hatalar için err seviyesinden yukarısı
journalctl -p err
- Veya dize kullanımı ile: journalctl -p err..emerg
- İlk örneğin amacı, info veya debug gibi düşük öncelikleri göz ardı etmektir.
- Zaman aralığıyla birlikte öncelik filtreleme: belli bir dönemin içinde yalnızca belli seviyedeki olayları görmek.
- Örnek: son 24 saat içinde kritik veya hata kayıtları
journalctl -p err.. emerg --since "24 hours ago"
- veya belirli bir tarih aralığı
journalctl -p warning --since "2024-11-01" --until "2024-11-02"
- Kanal ve birim bazında filtreleme ile öncelik birleştirme:
- Örnek: herhangi bir birimde err seviyesindeki hatalar
journalctl -p err /var/log/journal/.. (etiketleme ile birlikte birim filtrelemesi ayrıca --unit kullanılarak da yapılır)
- Belirli bir birimin sadece uyarı ve daha kritik mesajları:
journalctl -p warning --unit nginx.service
CÓDIGO
123456789# Temel filtreyi birleştirme örnekleri
[b]1) Son 12 saat içinde sadece hata ve daha kritik mesajlar[/b]
journalctl -p err.. emerg --since "12 hours ago"
[b]2) Geçerli önyüklemeyle sınırlı ve kritik+alert[/b]
journalctl -p crit.. alert -b
[b]3) Belirli bir birim için debug ve üstü kayıtlar (geliştirme amacıyla)[/b]
journalctl -p debug --unit ssh.service
Çıktı yönetimi ve pratik ipuçları
- Çıktıyı daha yönetilebilir kılmak için -n veya --since ile daraltma yapın. Özellikle kırpılmış özetler veya başlıklar için -n 200 gibi.
- -f ile takip modu, gerçek zamanlı akış için kullanışlıdır; filtreler korunur ve yeni kayıtlar akıp gider.
- Raporlama amacıyla çıktıyı daha temiz görmek için --no-pager ve --output fields/messages gibi ayarlar kullanabilirsiniz.
- Eğer loglar çok büyükse, filtreyle birlikte zaman damgasını ve birimi de görmek için --output short-precise veya json ile daha detaylı yapıyı elde edin.
Uygulama sınırları ve dikkat edilecek noktalar
- Öncelik bandını seçerken, -p parametresi yalnızca mesajların kritiklik düzeyini belirler; içerik veya kaynak gibi diğer filtreler için ek seçenekler kullanın.
- Birden çok filtreyi birleştirirken ardışık komutlar yerine tek bir komutla çalıştırmak performansı artırır.
- Mikroservis tabanlı ortamlarda birim bazlı filtrelemeyi --unit ile güvenli bir şekilde kullanmak, çapraz log gürültüsünü azaltır.
Kullanım senaryoları ve deneyimleriniz: journalctl ile öncelik filtrelemesini kendi sistemlerinizde hangi senaryolarda, nasıl bir akışla uyguladınız? Özellikle üretim ortamlarında hangi kombinasyonlar en verimli sonuçları verdi?
