- Katılım
- 21 May 2023
- Mesajlar
- 743
- Tepki
- 17
- Puan
- 18
Bir sorun yaşandığında ilk sorulan soru genelde aynı: loglara baktın mı? Log kelimesi günlük dilde "kayıt dosyası" anlamında kullanılıyor ama standart tarafında daha yapılı bir tanımı var.
Aşağıda log iletisinin standartta nasıl tanımlandığını, hangi rollerin bulunduğunu, önem ve kaynak bilgisinin nasıl kodlandığını ve katmanlı mimarinin neden tercih edildiğini IETF belgesine bakarak topluyoruz.
Ne taşıyor?
RFC 5424, syslog protokolünü tanımlayan belge, işlevi tek cümlede veriyor: protokol, olay bildirim iletilerini taşımak için kullanılıyor.
Yani log, serbest metin değil; bir olayın gerçekleştiğini bildiren yapılandırılmış bir ileti.
Belge protokolün katmanlı bir mimari kullandığını ve bunun iletilerin taşınması için herhangi sayıda aktarım protokolünün kullanılmasına imkân verdiğini söylüyor.
Ayrıca ileti biçimi, satıcıya özgü genişletmelerin yapılandırılmış biçimde sunulmasına da izin veriyor.
- İçerik: Olay bildirim iletisi.
- Mimari: Katmanlı; içerik ve taşıma ayrı.
- Genişletme: Yapılandırılmış biçimde.
Roller nasıl ayrılıyor?
Belge, her katmanda belirli işlevler yerine getirildiğini söylüyor ve rolleri adlandırıyor.
Üreten taraf, iletide taşınacak içeriği oluşturuyor. Toplayan taraf, içeriği daha ileri çözümleme için topluyor.
Aktarıcı ise iletileri iletiyor: üretenlerden ya da diğer aktarıcılardan ileti kabul edip toplayanlara veya başka aktarıcılara gönderiyor.
Taşıma tarafında da iki rol var: gönderen, iletileri belirli bir aktarım protokolüne veriyor; alan ise iletileri o protokolden alıyor.
Bu ayrım, kurumsal log mimarilerinin neden birden çok kademeden oluştuğunu açıklıyor.
Püf nokta' Alıntı:Standart, içeriği üreten ile taşıyanı ayırıyor; bu yüzden log toplama altyapısı uygulamadan bağımsız değiştirilebiliyor.
Kayıt neden yapılandırılıyor?
Serbest metin bir satır insan için okunabilir olabiliyor ama makineyle işlenmesi zor. Belirtimin yapılandırılmış genişletmeye izin vermesi bu ihtiyaca karşılık geliyor.
Yapı sayesinde aynı akış içinde binlerce satır arasından belirli bir kaynağa ya da önem derecesine ait olanlar süzülebiliyor.
Bu, olay incelemesinde zamanı belirleyen unsur. Aranan bilginin nerede olduğu değil, nasıl süzüleceği sorusu öne çıkıyor.
Aynı yapı uyarı kurmayı da mümkün kılıyor: belirli bir tesis ve önem birleşimi geldiğinde otomatik bildirim üretilebiliyor.
Toplamak neden ayrı bir iş?
Belgenin ayrı bir toplayıcı rolü tanımlaması tesadüf değil. Kayıtlar üretildikleri makinede kalırsa, o makine erişilemez hâle geldiğinde kayıtlar da erişilemez oluyor.
Aktarıcı rolü de aynı ihtiyaca bakıyor: kayıtlar birden çok kademeden geçerek merkezî bir noktaya taşınabiliyor.
Bunun bir yan faydası bütünlük. Kayıtların ayrı bir sistemde de bulunması, olay sırasında yerel dosyalara müdahale edilse bile inceleme yapılabilmesini sağlıyor.
Öncelik değeri ne anlatıyor?
Belge iletinin başında yer alan sayıyı tanımlıyor: açılı parantezler içindeki sayı, öncelik değeri olarak biliniyor ve hem tesis hem önem derecesini temsil ediyor.
Öncelik değeri bir, iki veya üç ondalık basamaktan oluşuyor.
Belge bir çekince de koyuyor: tesis ve önem değerleri normatif değil ama sıklıkla kullanılıyor; tablolarda yalnız bilgilendirme amacıyla veriliyor.
Tesis değerleri için sınır tanımlı: 0 ile 23 arasında olmak zorunda.
Tesis kodları neyi gösteriyor?
Belgedeki tablo, iletinin hangi sistem bileşeninden geldiğini kodluyor.
Listede çekirdek iletileri, kullanıcı düzeyi iletiler, posta sistemi, sistem artalan süreçleri ve güvenlik ile yetkilendirme iletileri yer alıyor.
Devamında syslog'un kendi ürettiği iletiler, satır yazıcı alt sistemi, ağ haberleri alt sistemi, UUCP alt sistemi, saat artalan süreci ve zaman protokolü alt sistemi sayılıyor.
Log denetimi ve uyarı gibi kategoriler de aynı tabloda bulunuyor.
Bu kodlama, farklı kaynaklardan gelen iletilerin tek bir akışta toplandığında ayrıştırılabilmesini sağlıyor.
Neden yeni bir belirtim yazıldı?
Belge kendi gerekçesini de açıklıyor: katmanlı mimarinin amacı, ileti içeriğini ileti taşımasından ayırmak ve her katmanda kolay genişletmeye imkân vermek.
Yeni bir belirtime duyulan ihtiyaç da anlatılıyor. Güvenilir ve güvenli syslog genişletmelerine yönelik standartlaşma çabaları, standartlar sürecine dahil ve aktarımdan bağımsız bir belgenin bulunmamasından zarar görüyordu.
Belgeye göre bu doküman olmasaydı, her standart kendi syslog paket biçimini tanımlamak zorunda kalacaktı.
Bu, log biçimlerinin neden zamanla ortaklaştığını gösteriyor.
Sunucu hatalarını okumayı 503 hatası yazımızda, sitenin açılmama sorununu ayırt etmeyi site açılmıyor yazımızda ele almıştık.
Zamanlanmış görevlerin kayıt tuttuğu yeri ise cron job yazımızda anlatmıştık.
Sık Sorulan Sorular
Log ne demek?
Standartta karşılığı, olay bildirim iletisi taşıyan yapılandırılmış kayıt.
Hangi roller var?
Üreten, toplayan, aktarıcı ile taşıma tarafında gönderen ve alan.
Öncelik değeri nedir?
İletinin başındaki açılı parantez içinde yer alan, tesis ve önem derecesini temsil eden sayı.
Tesis kodları kaç tane?
Belge tesis değerlerinin 0 ile 23 arasında olması gerektiğini belirtiyor.
Bu değerler zorunlu mu?
Belge tesis ve önem değerlerinin normatif olmadığını, sık kullanıldığını ve bilgilendirme amacıyla verildiğini söylüyor.
Özetle
Log, standart tarafında olay bildirim iletisi anlamına geliyor ve katmanlı bir mimariyle taşınıyor. Üreten, toplayan ve aktaran roller ayrı tanımlı; içerik ile taşıma birbirinden ayrılmış durumda. İletinin başındaki öncelik değeri hem kaynağı hem önem derecesini kodluyor. Bu yapı, farklı sistemlerin kayıtlarının tek akışta toplanmasını mümkün kılıyor.
Sisteminizdeki kayıtlar tek bir yerde toplanıyor mu, yoksa her sunucuda ayrı mı duruyor?
Güncelleme: 3 Eylül 2026. RFC 5424 (The Syslog Protocol) kontrol edildi.
Dijital Dünyanıza Yön Veren Pusula