rsyslog 将 asa 数据记录到多个文件

rsyslog 将 asa 数据记录到多个文件

我设置了 rsyslog 以将 asa 数据记录到 /var/log/asa/asa.log。这很好用。但它还将 asa 详细信息记录到 /var/log/messages。我只希望它进入 /var/log/asa/asa.log/。

这是 rsyslog 配置:

[root@util01 etc]# grep -v "^#" rsyslog.conf  | grep -v "^$"
$ModLoad imuxsock # provides support for local system logging (e.g. via logger command)
$ModLoad imklog   # provides kernel logging support (previously done by rklogd)
$ModLoad imudp
$UDPServerRun 514
$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat
$IncludeConfig /etc/rsyslog.d/*.conf
*.info;mail.none;authpriv.none;cron.none                /var/log/messages
authpriv.*                                              /var/log/secure
mail.*                                                  -/var/log/maillog
cron.*                                                  /var/log/cron
*.emerg                                                 *
uucp,news.crit                                          /var/log/spooler
local6.*                                                /var/log/asa/asa.log
daemon.*                                                /var/log/bc/bc.log
local7.*                                                /var/log/boot.log

知道如何才能捕获 asa 文件中的数据吗?

提前致谢

答案1

通常,会按照您在配置文件中指定的顺序将消息与每个过滤器行进行比较。因此,您的消息可能*.info...先与选择器匹配,然后才会继续匹配local6.*...。因此,它会被放在两个文件中。

停止进一步处理消息的命令是stop,而不是文件名。

结合这两点,你需要重新组织你的配置文件,以便

local6.*                /var/log/asa/asa.log
local6.*                stop

出现在行之前/var/log/messages。您还可以利用第三点,即可&用于重复上一行的选择器,因此改为编写:

local6.*                /var/log/asa/asa.log
&                       stop

相关内容