Ubuntu 18.04 上通过 RELP 运行 rsyslog 失败

Ubuntu 18.04 上通过 RELP 运行 rsyslog 失败

在 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: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

相关内容