Я настроил rsyslog для записи asa-данных в /var/log/asa/asa.log. Это сработало. Но он также записывает подробности в / 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?
Спасибо за advance
Обычно сообщение сравнивается с каждой строкой фильтра в том порядке, который вы указали в файле конфигурации. Таким образом, ваше сообщение, вероятно, соответствует селектору *.info...
, прежде чем оно также будет соответствовать local6.*...
. Поэтому он помещается в оба файла.
Командой для остановки дальнейшей обработки сообщения является stop
вместо имени файла.
Соединяя эти два пункта вместе, вам нужно реорганизовать файл конфигурации, чтобы строки
local6.* /var/log/asa/asa.log
local6.* stop
появлялись перед строкой с /var/log/messages
. Вы также можете воспользоваться третьим пунктом, а именно тем, что &
можно использовать для повторения селектора предыдущей строки, поэтому вместо этого напишите:
local6.* /var/log/asa/asa.log
& stop