我刚刚在 CentOS 8.2 上配置了 rsyslog 8.1911。服务器 rsyslog.conf 有以下几行
$template RemoteLogs,"/logs/serverlogs/%$YEAR%-%$MONTH%-$DAY%/%HOSTNAME%/%PROGRAMNAME%.log"
*.* ?RemoteLogs
这很有效 - 即每天都会创建新目录、写入日志等。但客户端的日志条目也会进入 rsyslog 服务器的日志文件。我该如何防止这种情况发生?
答案1
将现有日志放入“if”条件中,将 RemoteLogs 放入 else 子句中,即可解决此问题。日志服务器的名称为 prod-log。因此
if ($fromhost contains "prod-log") then {
# Don't log private authentication messages!
*.info;mail.none;authpriv.none;cron.none /var/log/messages
# The authpriv file has restricted access.
authpriv.*
# other existing files
} else {
*.* ?RemoteLogs
}
理想情况下,应该制定规则并加以运用。目前,这是可行的。