CentOS 8 远程日志记录在自定义日志和 /var/log/messages 上

CentOS 8 远程日志记录在自定义日志和 /var/log/messages 上

我正在尝试为我的服务器(所有 CentOS 8)配置远程日志主机。我在我的中央服务器上添加了它

if $fromhost-ip == '123.123.123.123' then /var/log/{{hostname}}.log

我还改变了我的客户端配置

*.* @@321.321.321.321:514/var/log/{{hostname}}.log

但是当我尝试运行时:

sudo logger "test"

它同时登录到我的中央远程服务器上的 /var/log/hostname.log 和 /var/log/messages

它还会向自定义日志文件中充斥

pam_unix(sudo:session): session opened for user root by admin(uid=0)
log message here
pam_unix(sudo:session): session closed for user root

如何设置我的日志仅发送到我的自定义日志文件?如何过滤这些 pam 消息以使其不被包含?

谢谢

答案1

完全允许记录到多个位置,因此如果您没有更改将大多数内容记录到的默认配置/var/log/messages,那么它们将继续记录在那里。

配置文件/etc/rsyslog.conf包含以下内容:

# Log anything (except mail) of level info or higher.
# Don't log private authentication messages!
*.info;mail.none;authpriv.none;cron.none                /var/log/messages

您可以添加基于属性的过滤器在记录一次消息后将其丢弃,基于各种属性消息。例如:记录一次后,基于属性的过滤器将丢弃该消息,从而防止后续配置记录该消息(波浪号表示丢弃该消息并且不再进一步处理):

:fromhost-ip, isequal, '123.123.123.123' /var/log/{{hostname}}.log
:fromhost-ip, isequal, '123.123.123.123' ~

您之所以收到 pam 消息,是因为您使用了sudo,而不是因为您运行了logger。每次运行 时,您都会收到这些消息sudo。如果您不想在日志中看到它们,请不要运行sudo。无论如何,没有必要使用sudo来运行logger

相关内容