rsyslog Nedir – Kurulumu ve Ayarları & syslog, syslog-ng farkı

rsyslog nedir diyecek olursak syslog, syslog-ng gibi Linux bazlı işletim sistemlerinde kullanılan loglama yazılımlarıdır. Merkezi log sunucusu oluşturma için tercih edilir. Sistemdeki her olay syslog protokolü ile bu yazılımlar üzerinden geçerek kayıt edilir. Syslog bu protokolün ilk kullanılıldığı eski bir yazılım iken şu an Ubuntu dahil linux dağıtımları rsyslog ile gelmektedir.  Hala bir çok router ve ağ cihazında syslog ile veri iletimi yapılmaktadır. Modern linux sistemlerinde rsyslog kurulu gelmektedir, herhangi bir kuruluma ihtiyaç yoktur. Doğrudan ayar dosyaları ile yapılandırma işlemi yapılır.

Rsyslog için ana ayar dosyası /etc/rsyslog.conf adresindedir fakat burada diğer config bağlantıları yer alır. Asıl kuralların tanımlandığı dosya ise ubuntu altında /etc/rsyslog.d/50-default.conf adresindedir. Centos sistemlerde de ayar dosyalarını benzer adreslerde bulabilirsiniz.

rsyslog nedir nasıl kullanılır
rsyslog merkezi log sunucusu kurma işlemi için en yaygın log sunucu ve istemci yazılımlarından biridir.

Dosyayı açtığımızda  varsayılan tanımlı kuralları görüyoruz. Bunlar:

mail.*                          -/var/log/mail.log
mail.err                        /var/log/mail.err

Benzeri yapılarda tanımlanmıştır. Buradaki her bir satıra syslog rule adı verilir. Farklı rule tanımlama yöntemleri vardır. Yukarıdaki örneklerde Facility/Priority(Severity)-based bir rule tanımlaması görüyoruz. Buradaki Facility mail, Priority ya da Severity level ise err yani hata seviyesidir. Yukarıdaki örnekte ilk satır tüm severity seviyeleri için kaydı mail.log dosyasına yazarken hataları mail.err dosyasına yazmaya ayarlanmıştır.

syslog facility ve severity ile rsyslog nedir

Sistem tarafından tanımlı syslog facity kaynakları şunlardır (rule tanımındaki noktadan önceki kısım):

auth – giriş işlemleri 
cron – zamanlanmış görevler 
daemon – arkaplan hizmetleri 
kernel – çekirdek mesajları
mail – mail kayıtları
syslog – syslog’un kendisi ile ilgili kayıtlar
lpr – yazıcı kayıtları
ftp – dosya trasfer kayıtları
local0 – local7 – kullanıcı tanımlı mesajlar

Öncelik yani Severity/Priority sıralamaları ise şu şekilde (rule tanımındaki noktadan sonraki kısım)

emerg:Acil – 0
alert:Alarm – 1
crit: Kritik – 2
err:Hata – 3
warn:Uyarı – 4
notice:Bildirim – 5
info:Bilgi – 6
debug:Hata Ayıklama – 7

Rule tanımlarındaki ilk kısım facility ve severity/priority den oluşuyor. mail.err buna bir örnek. Sonrasındaki log dosyasının yolunun tanımlandığı kısıma ise syslog sisteminde action adı veriliyor. Temel olarak rsyslog nedir diyecek olursak filter sistemi ile yakalanan log işlemlerini action ile yöneten sistemdir de diyebiliriz. Dosyaya yazma gibi action tanımları olabileceği gibi ekrana uyarı verdirme ya da uzak sisteme iletme gibi action seçenekleri de vardır.

İlk mail.err rule tanımı Facility/Priority(Severity)-based filtre kullanan kurallar için bir örnekti. Bunun dışında yine yaygın kullanılan Property-based filtreleme kullanan rule tanımları da var. Bunlar şu şekilde tanımlanıyor.

:msg, contains, "error"     action
:hostname, isequal, "host1"   action

Bunlarda görüldüğü gibi doğrudan facility ismi ve mesaj severity/priority değeri verilmemiş. Bunun yerine mesaj’ın içeriği ya da host sistemin ismi gibi alanlarda karşılaştırma yapılmış. Dağıtık rsyslog sistemleri de bu rule tipleri de oldukça yaygın kullanılıyor.

Üçüncü bir rule tanımlama yöntemi olarak Expression-based filter sistemleri de mevcut fakat bunlar kodlama yakın olduğu ve o kadar da yaygın kullanılmadığı için burada ele almayacağız.

rsyslog uzak sunucuya log gönderme

rsyslog mesajlarını uzak sistemlere iletmek için ise:

*.* @192.168.1.3:514
*.* @@192.168.1.3:514

gibi kural tanımları kullanabiliyoruz. @ ile UDP, @@ ile ise TCP tabanlı iletim sağlıyoruz.

Rsyslog ile bir çok veritabanı ve sistem servislerine yönelik merkezi monitoring sistemi geliştirilebilir

rsyslog yardımıyla log analizi nasıl yapılır

Rsyslogd ile veritabanı kullanarak sistem log kayıtlarımızı saklayabiliyoruz. Kaydedilen bu logları analiz etmek için LogAnalyzer tarzı yardımcı araçlardan yararlanabiliyoruz.

LogAnalyzer Panel
LogAnalyzer Panelinde veritabanı kullanılarak kaydedilmiş sistem kayıtlarımızı inceleyebiliyoruz.

İlerleyen yazılarımızda rsyslog’u yapılandırmayı ve LogAnalyzer a güzel bir alternatif olan elasticsearch/kibana ile log indexleme, işleme ve arama işlemini ele alacağız.

Kaynak: https://www.rsyslog.com

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir