сообщение rsyslog отброшено

Вопрос или проблема

Я пытаюсь избавиться от любых сообщений “kernel: nfs: Устаревший параметр ‘intr'” из /var/log/messages
Версия Rsyslog: 8.1911.0-6.el8

В моем файле /etc/rsyslog.conf у меня есть следующее:

module(load="imuxsock"    # обеспечивает поддержку локального системного логирования (например, через команду logger)
       SysSock.Use="off") # Отключить прием сообщений через локальный лог-сокет;
                          # локальные сообщения теперь извлекаются через imjournal.
module(load="imjournal"             # предоставляет доступ к журналу systemd
       StateFile="imjournal.state") # Файл для хранения позиции в журнале

global(workDirectory="/var/lib/rsyslog")

module(load="builtin:omfile" Template="RSYSLOG_TraditionalFileFormat")

include(file="/etc/rsyslog.d/*.conf" mode="optional")

:msg, contains, "nfs: Устаревший параметр"  stop

*.info;mail.none;authpriv.none;cron.none                /var/log/messages

authpriv.*                                              /var/log/secure

mail.*                                                  -/var/log/maillog

cron.*                                                  /var/log/cron

*.emerg                                                 :omusrmsg:*

uucp,news.crit                                          /var/log/spooler

local7.*                                                /var/log/boot.log

Строка, которая должна отбрасывать сообщения:

:msg, contains, "nfs: Устаревший параметр" stop

Я все еще вижу, что сообщения записываются в лог. Есть идеи?
P.S., у меня есть дополнительные конфигурационные файлы в /etc/rsyslog.d/, если это имеет значение.

Отбрасывание определенных сообщений с помощью фильтров на основе свойств.

Фильтры на основе свойств уникальны для rsyslog. Они позволяют фильтровать по любому свойству, такому как HOSTNAME, syslogtag и msg.

Для отбрасывания сообщений используйте тильду “~”.

*.info;mail.none;authpriv.none;cron.none                   /var/log/messages
:msg, contains, "nfs: Устаревший параметр" ~
*.info;mail.none;authpriv.none;cron.none                   /var/log/kern.log

Указанные сообщения записываются в messages. Затем все логи, содержащие строку “nfs: устаревший”, отбрасываются. Это означает, что строки конфигурационного файла ниже “строки отбрасывания” не будут применяться к этому сообщению. Затем все оставшиеся строки также будут записаны в файл kern.


В вашем случае возможно, что сообщения все еще записываются (из-за дополнительных .conf файлов в /etc/rsyslog.d/). Поэтому, если вы хотите быть на 100% уверены, что сообщения, содержащие “nfs: Устаревший параметр”, не будут записываться, вам нужно проверить и (возможно) отредактировать их тоже.

П.С. вам, вероятно, стоит поискать все правила, содержащие *.info

Ответ или решение

Устранение сообщений rsyslog: Как игнорировать "kernel: nfs: Deprecated parameter"

Введение

Если вы хотите исключить определенные сообщения из системного логирования с использованием rsyslog, это можно сделать эффективно с помощью правильно настроенных фильтров. В данном руководстве мы рассмотрим, как избавиться от сообщений "kernel: nfs: Deprecated parameter", которые продолжают появляться в файле /var/log/messages, несмотря на ваши текущие конфигурации.

Проблема

Вы уже настроили файл /etc/rsyslog.conf с использованием следующей строки для игнорирования сообщений:

:msg, contains, "nfs: Deprecated parameter"  stop

Однако вы все еще видите эти сообщения в журнале. Это может быть вызвано тем, что сообщение обрабатывается другим правилом в конфигурациях, находящихся в директории /etc/rsyslog.d/.

Решение

1. Использование фильтров

Для правильного исключения сообщений вам необходимо использовать знак тильда ~ вместо stop. Вот как это должно выглядеть:

*.info;mail.none;authpriv.none;cron.none                   /var/log/messages
:msg, contains, "nfs: Deprecated parameter" ~

Данная строка указывает rsyslog, что все сообщения, содержащие "nfs: Deprecated parameter", будут игнорироваться и не будут записываться ни в один журнал, находящийся ниже этой строки в конфигурации.

2. Проверка конфигураций в /etc/rsyslog.d/

Как упомянуто ранее, необходимо также проверить, есть ли в конфигурационных файлах в директории /etc/rsyslog.d/ правила, которые могут записывать аналогичные сообщения. В случае их наличия, добавьте аналогичные строки для игнорирования сообщений.

Для поиска всех файлов, которые могут содержать записи .info, используйте:

grep -rnw '/etc/rsyslog.d/' -e '*.info'

3. Перезагрузка rsyslog

После внесения изменений в конфигурацию, не забудьте перезагрузить сервис rsyslog, чтобы изменения вступили в силу:

systemctl restart rsyslog

Или, если вы используете более старую систему:

service rsyslog restart

Заключение

С таким подходом вы сможете успешно исключить сообщения "kernel: nfs: Deprecated parameter" из вашего системного журнала. Главное — убедиться, что все правила, которые могут перезаписывать ваши настройки, учитываются. Учитывая, что у вас есть дополнительные конфигурации в /etc/rsyslog.d/, настоятельно рекомендуется внимательно их проверить и, при необходимости, адаптировать.

Для дальнейшего устранения проблем, всегда проверяйте журнал ошибок rsyslog с помощью команды:

journalctl -xe

Это поможет вам получить больше информации о возможных сбоях в конфигурации. Подходя к настройке логирования с четким пониманием структуры конфигурации и фильтров, вы сможете эффективнее управлять системными сообщениями.

Оцените материал
Добавить комментарий

Капча загружается...