Syslog'a Bir Bakış
Önceki XVIII. Oylum - Syslog Sonraki
Syslog'a Bir Bakış
Sistem yöneticileri her sistemin içindeki bir yığın alt sistemden ve bazı başka sistemlerden gelen farklı çeşitte iletiyle uğraşmak zorunda kalır. Örneğin, bir FTP sunucu aldığı her bağlantıyı raporlayabilir. Çekirdek bir disk sürücüdeki donanımsal hataları raporlayabilir. Bir DNS sunucu düzenli aralıklarla istatistikleri raporlayabilir.
Bu iletilerden bazıları bir sistem yöneticisinin dikkatinin hemen çekilmesini gerektirebilir. Ve o sadece herhangi bir sistem yöneticisi olmayabilir - belli ileti çeşitleri ile uğraşan belli sistem yöneticileri olabilir. Diğer iletilerin sadece ileride gerektiğinde bakılmak üzere sadece kaydedilmesi gerekebilir. Kalan diğerlerinin aylık raporlar üreten kendiliğinden çalışan süreçler tarafından çıkarılan bilgiler olması gerekebilir.
Bu iletilerle uğraşmak için çoğu Unix sisteminde "Syslog" diye bilinen bir oluşum vardır ve genellikle "Syslogd" diye bilinen bir ardalan süreci olarak çalışır. Syslogd iletiler için, /dev/log isminde bir Unix alan soketini dinler. İletilerdeki sınıflama bilgisine ve yapılandırma dosyasına (genellikle /etc/syslog.conf) bağlı olarak Syslogd onları çeşitli yollara yönlendirir. Çok bilinen bazı yöntemler:
  • Sistem konsoluna yazma
  • Belli bir kullanıcıya ileti postalama
  • Bir günlük dosyasına yazma
  • Başka bir ardalan sürecine aktarma
  • İptal etme
Syslogd ayrıca başka sistemlerdeki iletileri de işleyebilir. İletiler için hem syslog UDP portunu hem de yerel soketi dinler.
Syslog çekirdeğin kendisinden gelen iletileri de işleyebilir. Fakat çekirdek /dev/log'a yazmaz; onun yerine başka bir artalan süreci (kimi zaman "Klogd" denir) çekirdekten iletileri çıkarır ve onları herhangi bir başka sürecin yaptığı gibi Syslog'a aktarır (ve iletilerin çekirdekten geldiğini belirtir).
Syslog çekirdeğin Syslogd ve Klogd çalıştırılmadan önce çıktıladığı iletileri de işleyebilir. Örneğin Linux çekirdeği başlatma iletilerini bir çekirdek ileti zincirinde saklar ve daha sonra Klogd başlatıldığında onlar normal olarak hala orada duruyor olur. Klogd başlatıldığında Syslogd'nin de başlatılmış olduğu varsayımıyla ileti zincirindeki herşeyi ona aktarır.
Düzenlemek amacıyla iletilerin sınıflanması için, Syslogd her sürecin bir iletiyi teslim ederken iki parçalı sınıflama bilgisini iletiyle birlikte sağlamasını gerektirir:
oluşum
İletiyi kimin teslim ettiğini belirtir. Tanımlı çok az sayıda oluşum vardır. Çekirdek, posta altsistemi ve FTP sunucusu tanınan oluşumlara birer örnektir. Tam bir liste için syslog, vsyslog bölümüne bakınız. Bunların tamamen keyfi bir sınıflama olduğunu unutmayın. "Posta altsistemi" denince sistem yöneticisinin ona verdiğinden daha fazla bir anlam içermez.
öncelik
Bu teslim edilen iletinin ne kadar önemli olduğunu gösterir. Tanımlı önceliklere örnekler: hata ayıklama, bilgilendirme, uyarı, ölümcül. Tam bir liste için syslog, vsyslog bölümüne bakınız. Önceliklerin tanımlı bir sıralamasının dışında bu önceliklerin anlamları sistem yöneticisi tarafından belirlenir.
Bir "oluşum/öncelik" çifti hem oluşumu hem de önceliği belirten bir sayıdır.
Uyarı
Bu terminoloji evrensel değildir. Bazıları önceliğe "seviye", öncelikle oluşumun oluşturduğu birleşime "öncelik" der. Linux çekirdeğinde ise bir iletinin seviyesi hem Syslog önceliği hem de Syslog oluşum/öncelik çiftine karşılık gelir (oluşum kodu çekirdek için sıfır olduğundan her ikisi de aslında aynı değere sahip olur).
GNU C kütüphanesi iletileri Syslog'a teslim etmek için işlevler içerir. Bu işlemi /dev/log soketine yazarak yaparlar. Bkz. Syslog İletilerinin Teslim Edilmesi.
GNU C kütüphanesi işlevleri iletileri sadece aynı sistemdeki Syslog oluşumuna teslim ederler. Syslog iletilerini başka bir sistemdeki Syslog oluşumuna teslim etmek için sistemdeki syslog UDP portuna bir UDP datagramı yazan soket G/Ç işlevleri kullanılır. Bkz. Soketler.
Önceki Üst Ana Başlık Sonraki
XVIII. Oylum - Syslog Başlangıç Syslog İletilerinin Teslim Edilmesi
Bir Linux Kitaplığı Sayfası