Назад | Перейти на главную страницу

Как подавить конкретное сообщение в syslogd 1.4.1

Есть ли способ подавить конкретное сообщение в syslogd? У меня есть пара серверов Linux Oracle 5.10 с syslogd 1.4.1, поскольку все мои серверы являются производственными серверами - я не могу обновить syslogd до rsyslogd (где возможна фильтрация сообщений). Есть идеи, как этого добиться?

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

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

Однако, если вы хотите или вам нужно хранить журналы ядра на локальном компьютере, вы можете обойти это с помощью небольшой хитрости.

Самый простой способ - заставить системный журнал записывать журнал в нестандартный файл журнала, например

kern.err          /var/tmp/kernel-unfiltered

Затем вы можете просто создать сценарий для просмотра / var / tmp / kernel-uniltered, и для любой строки, которая не соответствует тому, что вы хотите отфильтровать, повторно введите ее с помощью logger но с другим средством или уровнем журнала, или просто записывая непосредственно в файл журнала, который вам нужен.

Другой метод - использование трубы. Syslogd не может писать напрямую в программу (в противном случае grep -v THEMESSAGE > /var/log/kernel.log было бы очевидным решением), но это жестяная банка log в именованный канал - и тогда вы можете иметь отдельную программу, читающую из этого канала, и отфильтровывать нужные сообщения, и либо повторно вводить сообщение, либо записывать его непосредственно в файл журнала. Вы должны создать трубу, например,

mkfifo /var/tmp/logfifo

и конфигурация будет

kern.err          |/var/tmp/logfifo

Преимущество заключается в меньшем риске заполнения файловой системы мусором по сравнению с использованием реального файла.

Оба этих решения, вероятно, вызовут много головной боли у любого нового человека, который возьмет на себя эти системы, если они не задокументированы.