Записывать сообщения, содержащие определенную строку, в другой файл в rsyslogd

608
Chris

Я хочу сохранить свои сообщения журнала, сгенерированные iptables, в другой файл через rsyslogd.

В настоящее время я использую этот код из /etc/rsyslog.d/20-custom.conf:

# Log cron to cron.log and not to syslog *.*;cron,auth,authpriv.none -/var/log/syslog cron.* /var/log/cron.log  # Log firewall to extra log :msg,contains,"[BLOCK " /var/log/firewall.log  & stop 

Мои журналы cron в порядке, они регистрируются только в cron.log, но мои журналы iptables регистрируются как в, так syslogи в firewall.log. Есть ли способ только войти в систему firewall.log?

Мои системные характеристики:

> rsyslogd -v rsyslogd 8.16.0, compiled with: PLATFORM: x86_64-pc-linux-gnu PLATFORM (lsb_release -d): FEATURE_REGEXP: Yes GSSAPI Kerberos 5 support: Yes FEATURE_DEBUG (debug build, slow code): No 32bit Atomic operations supported: Yes 64bit Atomic operations supported: Yes memory allocator: system default Runtime Instrumentation (slow code): No uuid support: Yes Number of Bits in RainerScript integers: 64 

Linux MYHOSTNAME 4.4.0-116-generic #140-Ubuntu SMP Mon Feb 12 21:23:04 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

> lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 16.04.4 LTS Release: 16.04 Codename: xenial 
0

1 ответ на вопрос

1
Michał Politowski

Вы должны переместить часть регистрации брандмауэра перед другими правилами, чтобы она выглядела как

# Log firewall to extra log :msg,contains,"[BLOCK " /var/log/firewall.log & stop  # Log cron to cron.log and not to syslog *.*;cron,auth,authpriv.none -/var/log/syslog cron.* /var/log/cron.log 

Правила рассматриваются по порядку, поэтому теперь у вас есть сообщение, соответствующее *. *; Cron, auth, authpriv.none всегда будет записываться в системный журнал, даже если оно также соответствует : msg, содержит "[BLOCK" и записано в firewall.log. Команда stop просто слишком поздняя в файле, чтобы что-либо остановить.

Смотрите также https://www.rsyslog.com/writing-specific-messages-to-a-file-and-discarding-them/

Большое спасибо за ваше объяснение, теперь работает отлично! Chris 6 лет назад 0

Похожие вопросы