При настройке rsyslog с tls и использовании PermittedPeer
или streamdriver.authmode
name, если неавторизованный партнер подключается, rsyslog регистрирует сообщения об ошибках, как показано ниже.
Jan 22 08:56:38 test rsyslogd-2089: netstream session 0x7f177401b740 from 10.0.0.7 will be closed due to error [try http://www.rsyslog.com/e/2089 ]
Jan 22 08:56:38 test rsyslogd-2088: error: peer name not authorized - not permitted to talk to it. Names: DNSname: *.test.com; DNSname: test.com; CN: *.test.com; [try http://www.rsyslog.com/e/2088 ]
Если клиент постоянный, rsyslog регистрирует тысячи таких сообщений.
Есть ли способ сказать драйверу сетевого потока, чтобы он не регистрировал слишком много из них? Я бы не прочь увидеть их, чтобы выяснить, какой клиент неправильно настроен или возможно злоупотребление, но их слишком много.
В настоящее время я использую следующие записи, которые полностью отбрасывают эти сообщения.
:msg, contains, "peer name not authorized" ~
:msg, regex, ".*netstream session .* from .* will be closed due to error" ~
Это, кстати, генерирует следующее предупреждающее сообщение, хотя последняя документация говорит, что это правильный способ отбрасывать сообщения.
Jan 22 09:34:22 test: warning: ~ action is deprecated, consider using the 'stop' statement instead [try http://www.rsyslog.com/e/2307 ]
Похоже, что вы хотите реализовать RepeatedMsgReduction.
В ваших глобальных директивах конфигурации (возможно, rsyslog.conf
):
$RepeatedMsgReduction on
Из Документов:
Эта директива указывает, следует ли сокращать количество повторяющихся сообщений (это функция «Последняя строка повторяется n раз»). Если этот параметр включен, количество повторяющихся сообщений уменьшается. Если выключено, каждое сообщение регистрируется.