rsyslog:仅将一些消息记录到特定文件

rsyslog:仅将一些消息记录到特定文件

我的防火墙日志不仅写入自定义的 iptables.log 文件,还写入kern.logmessagessyslog。我不希望这些消息在所有这些日志中重复出现。

我的配置有什么问题?

$ cat /etc/rsyslog.d/iptables.conf

# This works, and the messages do get to iptables.log.
:msg, regex,  "^\[ *[0-9]*\.[0-9]*\] IPT" -/var/log/iptables.log
& ~

在 中/etc/rsyslog.conf$IncludeConfig /etc/rsyslog.d/*.conf在标准日志文件的行之前调用:

$ cat /etc/rsyslog.conf

$ModLoad imuxsock # provides support for local system logging
$ModLoad imklog   # provides kernel logging support
$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat
$FileOwner root
$FileGroup adm
$FileCreateMode 0640
$DirCreateMode 0755
$Umask 0022
$WorkDirectory /var/spool/rsyslog
$IncludeConfig /etc/rsyslog.d/*.conf
auth,authpriv.*         /var/log/auth.log
*.*;auth,authpriv.none      -/var/log/syslog
daemon.*            -/var/log/daemon.log
kern.*              -/var/log/kern.log
lpr.*               -/var/log/lpr.log
mail.*              -/var/log/mail.log
user.*              -/var/log/user.log
mail.info           -/var/log/mail.info
mail.warn           -/var/log/mail.warn
mail.err            /var/log/mail.err
news.crit           /var/log/news/news.crit
news.err            /var/log/news/news.err
news.notice         -/var/log/news/news.notice
*.=debug;\
    auth,authpriv.none;\
    news.none;mail.none -/var/log/debug
*.=info;*.=notice;*.=warn;\
    auth,authpriv.none;\
    cron,daemon.none;\
    mail,news.none      -/var/log/messages
*.emerg             :omusrmsg:*
daemon.*;mail.*;\
    news.err;\
    *.=debug;*.=info;\
    *.=notice;*.=warn   |/dev/xconsole

这是在 Debian Wheezy (7.9) 系统上,rsyslog 版本为 5.8.11-3+deb7u2

答案1

您的$IncludeConfig /etc/rsyslog.d/*.conf日志位于其余日志的上方,因此您需要做的就是停止处理 iptables.conf 中的行。& ~已经显示“停止处理”,但我发现在某些系统上您需要stop改为。 而且似乎stop只有手册

相关内容