rsyslog; log kaydet ve gönder


Merhabalar,

Bu gönderide dışardan gelen bir logu ayrı bir dosyaya atıp aynı zamanda farklı bir sunucuya gönderme işlemini konu alacağız.

Durum şu bir istemciden rsyslog sunucusuna bir log geliyor. rsyslog sunucusu bunu alıp istemcinin ipsi ile belirlenmis bir dosyaya yazacak ve aynı zamanda bu log kaydını başka bir sunucuya gönderecek.

Malumunuzdur ki rsyslog istemci vs hepsi linux tabanlı ve rsyslog sunucusu 8.2+ üstü bir versiyona sahip.

İşlem oldukça basit ama bulması uygulaması sorun olabiliyor.

Rsyslog iki tür yazım dizisine sahip yeni sürüm yazım şekliyle alttaki yönergeleri eklediğimizde istediğimiz sonuca ulaşabiliriz. Yazım stili farklı geliyor olabilir dert etmeyin kopyalayın yapıştırın çalışır.

# sunucu modunda gelen loglari 514 portundan dinlemek icin bu yonergeleri ekle
module(load="imudp")
input(type="imudp" port="514" ruleset="RemoteDevice")

# Log dosyasina yazildiktan sonra bu gelen loglari yonlendirmek icin belirtilen yonergeleri ekle
ruleset(name="sendToLogserver") {
    action(type="omfwd" Target="10.10.10.50" Port="514")
}

# gelen loglari ip lere gore olusturdugun dosyalarda sakla
template(name="DynFile" type="string" string="/var/log/CLIENTS/system-%FROMHOST-IP%.log")

# RemoteDevice ile tagledigimiz disardan gelen loglari DynFile ile belirtilen yere yaz sonra call ile forward et sonrada islemi burada stop ile kes.<span 				data-mce-type="bookmark" 				id="mce_SELREST_start" 				data-mce-style="overflow:hidden;line-height:0" 				style="overflow:hidden;line-height:0" 			></span>
ruleset(name="RemoteDevice"){
       action(type="omfile" dynaFile="DynFile")
	call sendToLogserver
	stop
}

Not: bu yönergeleri GLOBAL DIRECTIVES adli bölümden önce ekleyiniz.

Reklamlar