Как перенаправить сообщения ядра, имеющие подстроку уникального идентификатора в отдельный файл журнала (использующий 'rsyslog')?

Очень короткий ответ

/ и т.д. используется Вашей ОС для ее конфигурационных файлов

/usr/local/etc может использоваться для Ваших файлов конфигурации Вами и Вашего addtionally установленного программного обеспечения

6
04.07.2011, 20:01
2 ответа

В дополнение к селекторной фильтрации rsyslogd может отфильтровать на шаблонах, найденных в свойствах сообщения журнала. Для выполнения, что Вы пытаетесь сделать можно создать основанный на свойстве фильтр для соответствия строке, которую Вы используете в своих правилах iptables. Если необходимо было использовать --log-prefix "unique_prefix: " в Вашем правиле iptables необходимо было бы добавить это к rsyslog.conf:

:msg,startswith,"unique_prefix" /var/log/iptables

Это правило протестирует сообщения журнала на Ваш префикс и отправит их в/var/log/iptables (в дополнение к тому, везде, где еще rsyslog настроен для отправки их). Если у Вас должны быть сообщения, появляются в/var/log/iptables, но не в другом месте, помещают новое правило выше других и следуют за ним со строкой, содержащей & ~. Полный пример:

:msg,startswith,"unique_prefix" /var/log/iptables
& ~
#
# The rest of my rules appear below
# ...
*.info;mail.none;authpriv.none;cron.none                /var/log/messages

Правила Rsyslog могут иметь несколько действий. Последующие действия определяются на новых строках, начинающихся с амперсанда (&). В примере выше, первое правило имеет два действия: отправьте вывод в/var/log/iptables и затем отбросьте сообщение (~). См. rsyslog документы о действиях и фильтрах для получения дополнительной информации о правилах в этом ответе

Отредактированный для использования startswith вместо contains для соображений производительности. Начиная с iptables --log-prefix действительно префикс и таким образом будет в начале сообщения.

7
27.01.2020, 20:27
  • 1
    Таким образом в этом случае вывод перейдет к обоим файлам журнала? Как я могу также действительно перенаправить сообщения, таким образом, они не появляются в системном журнале, но в журнале iptable только? –  mbaitoff 05.07.2011, 04:31
  • 2
    Добавленный больше полного примера и информации о действиях –  Eli Heady 05.07.2011, 15:01
  • 3
    На моем Debian (7 или 8) системы, сообщение не запускается с префикса журнала. Таким образом, мне был нужен этот regex вместо этого: :msg, regex, "^\[ *[0-9]*\.[0-9]*\] MyPrefix" соответствовать Jan 23 18:11:35 myhost kernel: [607552.301334] MyPrefix IN=... –  mivk 23.01.2016, 19:17

Мой опыт, учитывая природу как rsyslog.conf файл анализируется, дополнительные строки конфигурации в /etc/rsyslog.conf должен быть перед всеми другими строками конфигурации. Если добавлено в конец файла, вход IP таблиц будет все еще добавлен к /var/log/messages и также перенаправленный к /var/log/iptables.log файл.

1
27.01.2020, 20:27
  • 1
    Хорошо, которая была полезна! Я задавался вопросом, почему у меня все еще есть 'iptables' мусор в системном журнале в дополнение к специализированному журналу. –  mbaitoff 19.12.2011, 07:34

Теги

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