Ubuntu server üzerinde kurulu herhangi bir servis ya da uygulamamızın belirli bir path‘de mevcut olan log dosyasını siem(10.10.10.99) server‘a yönlendirdiğimizi varsayalım.

sudo vi/etc/rsyslog.d/my-service.conf
$ModLoad imfile
$InputFilePollInterval 10
$PrivDropToGroup safirdepo
$InputFileName /opt/my-service-path/my_service_log.log
$InputFileTag MY SERVICE
$InputFileStateFile MY_SERVICE_LOG
$InputFileSeverity info
$InputFileFacility local5
$InputRunFileMonitor
$InputFilePersistStateInterval 1000
local5.* @10.10.10.99:514

Ardından servisi yeniden başlatın.

sudo systemctl restart rsyslog.service

Durumu netleştirmek adına yönlenen log akışını tcpdump ile izleyebilirsiniz.

sudo tcpdump -i ens3 -annXX host 10.10.10.99

Bu arada default sistem log‘larını(/var/log/syslog) yönlendirmek için, aşağıdaki gibi yapmanız yeterli.

sudo vi /etc/rsyslog.conf
*.*    @10.10.10.99:514 #tcp
*.*    @@10.10.10.99:514 #udp
sudo systemctl restart rsyslog.service

Konumuz dışı ama ek olarak çalıştığınız sunucunun log alabilmesi için, aşağıdaki gibi ayarlayabilir ardından bu server‘a da log yönlendirebilirsiniz.

sudo vi /etc/rsyslog.conf
# provides UDP syslog reception
module(load="imudp")
input(type="imudp" port="514")

# provides TCP syslog reception
module(load="imtcp")
input(type="imtcp" port="514")
sudo systemctl restart rsyslog.service

Teyit,

sudo ss -plnt | grep 514
LISTEN     0  25    *:514       *:*      users:(("rsyslogd",pid=7788,fd=7))
LISTEN     0  25   :::514      :::*      users:(("rsyslogd",pid=7788,fd=8))


ref: serverfault | casesup