我正在尝试为我的服务器(所有 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
。