我设置了 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