
В Ubuntu 18.04 и rsyslogd 8.32 логи отправляются корректно по TCP без RELP при следующей конфигурации:
Сервер [192.168.1.201] (/etc/rsyslog.conf):
module(load="imuxsock") # provides support for local system logging
$ModLoad imudp
$UDPServerRun 514
$ModLoad imtcp
$InputTCPServerRun 514
module(load="imklog" permitnonkernelfacility="on")
$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat
$RepeatedMsgReduction on
$FileOwner syslog
$FileGroup adm
$FileCreateMode 0640
$DirCreateMode 0755
$Umask 0022
$PrivDropToUser syslog
$PrivDropToGroup syslog
$WorkDirectory /var/spool/rsyslog
$IncludeConfig /etc/rsyslog.d/*.conf
:programname, isequal, "example" {
$template RemoteServer, "/var/log/remote/%FROMHOST-IP%/%HOSTNAME%/%SYSLOGFACILITY-TEXT%_%PROGRAMNAME%.log"
*.* ?RemoteServer
stop
}
Клиент (/etc/rsyslog.d/50-default.conf)
auth,authpriv.* /var/log/auth.log
*.*;auth,authpriv.none -/var/log/syslog
kern.* -/var/log/kern.log
mail.* -/var/log/mail.log
mail.err /var/log/mail.err
module(load="imfile" mode="inotify")
input(type="imfile"
File="/home/user/*.log"
Tag="david"
Ruleset="uprule"
addMetadata="on"
Facility="local0")
ruleset(name="uprule"){
:syslogtag, isequal, "example" {
:msg, contains, "HELLO" {
local0.* /var/log/testlog_error.log
local0.* @@192.168.1.201:514
}
stop
}
}
Когда я пытаюсь реализовать протокол RELP, он не отправляет логи на сервер.
На клиенте загрузите omrelp и отредактируйте module(load="omrelp")
строкуlocal0.* @@192.168.1.201:514
local0.* :omrelp:192.168.1.201:514
На сервере:
module(load="imrelp")
input(type="imrelp" port="514" ruleset="RemoteLogProcess")
ruleset(name="RemoteLogProcess") {
#Actions with the message...
}
Есть ли какие-нибудь предложения, как это можно реализовать?
Спасибо!
решение1
Не видя полного файла конфигурации, который вы используете на сервере, мое первое предложение — убедиться, что вы не загружаете imtcp и imrelp на один и тот же порт. Поскольку они оба используют TCP, это может вызвать проблему.
Вы проверили логи? Получаете ли вы какие-либо сообщения об ошибках? Вы можете проверить это, запустивjournalctl -r -u rsyslog