Перенаправить логи UFW в собственный файл?

20

Есть ли способ, которым я могу легко перенаправить записи для UFW в их собственный файл журнала в / var / log / ufw вместо того, чтобы заполнять / var / log / syslog, так как становится сложно находить решения проблем со всеми этими вещами UFW, пролетающими мимо мне?

markrich
источник

Ответы:

19

В Ubuntu 15.10 и Debian Jessie есть файл /etc/rsyslog.d/20-ufw.conf. Содержится внизу # & ~. Удалите # перед ним, чтобы раскомментировать его, и обновите rsyslog с помощью команды, /etc/init.d/rsyslog restartчтобы он учитывал изменение конфигурации.

chmike
источник
3
работает и для 14.04, и проще, просто используется sudo service rsyslog restartпосле его изменения, спасибо!
Водолей Power
Это то, что работало для меня тоже (14.04). Простое это хорошо.
паб
1
В 18.04 последняя строка, # & stopно делает то же самое, когда она не закомментирована, необходимо действительно перезапустить rsyslog.
Себастьян
13

Я также использую Ubuntu 14.04. В моем /etc/rsyslog.d/есть файл, 20-ufw.confкоторый имеет следующую строку:

:msg,contains,"[UFW " /var/log/ufw.log

Что я сделал, это удалил этот файл, и в верхней части 50-default.confя добавил следующее:

: msg, содержит "[UFW" /var/log/ufw.log
& stop

Перезапустите rsyslog, sudo service rsyslog restartи ваши журналы UFW должны быть помещены в их собственный файл, а не в любой другой.

Ackis
источник
11
почему бы просто не отредактировать 20-ufw.confи не добавить туда команду остановки? На самом деле, у него уже есть шаблон, который можно раскомментировать, и, похоже, он отлично работает в моем быстром тесте.
HRJ
@HRJ Личные предпочтения? Файл 20-ufw.conf содержит всего несколько строк текста, большинство из которых являются комментариями. Я чувствовал, что это не нужно для его собственного файла конфигурации. Ваше предложение действительно выполняет то же самое - это то, :msg,contains,"[UFW " /var/log/ufw.logчто нужно изменить / остановить.
Ackis
6

UFW использует rsyslog для входа в систему /var/log/syslogили /var/log/messages:

Чтобы изменить файл журнала, отредактируйте /etc/rsyslog.d/50-default.confи добавьте:

:msg, contains, "UFW" -/var/log/ufw.log
& ~

Это будет регистрировать все данные, которые содержат «UFW», чтобы /var/log/ufw.logпредотвратить дальнейшую обработку таких данных.

Jobin
источник
Хотя ufw.log теперь содержит записи с вашими командами, syslog по-прежнему получает сообщения.
Марк
Да, но системный журнал сообщает о проблемах с вашими командами.
Марк
ошибка при разборе файла /etc/rsyslog.d/50-default.conf в строке 1 или перед ней: недопустимый символ '~' - где-то есть недопустимая escape-последовательность? [try rsyslog.com/e/2207 ] 21 апреля 15:58:41 markys-home-pc rsyslogd-2307: предупреждение: действие ~ устарело, вместо этого попробуйте использовать оператор 'stop' [try rsyslog.com/e/2307 ]
Маркрич
Я сделал скопировать и вставить. Та же ошибка
Markrich
Журнал прекратил принимать команды UFW по массе, однако одна или две все еще пробираются. Теперь лучше, но ошибка амортизации все еще существует.
Марк
5

16 апреля просто закомментируйте последнюю строку в этом файле, чтобы он читал

$ tail -1 /etc/rsyslog.d/20-ufw.conf 
& stop

и перезапустите rsyslog

$ sudo systemctl restart rsyslog

теперь логи ufw будут в /var/log/ufw.log, а не в / var / log / syslog

Антонелло Пьемонт
источник