Ubuntu 18.04에서 RELP를 통한 rsyslog가 실패함

Ubuntu 18.04에서 RELP를 통한 rsyslog가 실패함

Ubuntu 18.04 및 rsyslogd 8.32 로그는 다음 구성을 사용하여 RELP 없이 tcp를 통해 올바르게 전송됩니다.

서버 [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:514local0.* :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

관련 정보