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

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

Создан фильтр для удаленных устройств для перехода к отдельному файлу для каждого хоста, но все равно содержимое журнала удаленных устройств попадает в основной системный журнал. Я пробовал оба & ~ а также & stop,

Общая проблема, но не могу найти рабочий ответ. rsyslog 5.8.6 (Ubuntu 12 LTS)

/etc/rsyslog.d/20-external.conf:

$template PerHostLog,"/var/log/external/%HOSTNAME%.log"
if $fromhost-ip != '127.0.0.1' then -?PerHostLog
#& ~
& stop

Все остальные файлы одинаковые, за исключением изменений в /etc/rsyslog.conf включить удаленную регистрацию.

У моих файлов на хосте есть содержимое, но они все еще поступают в основной файл системного журнала.

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

Есть идеи, что я делаю не так?

Благодарю.

Тим

2 ответа

Решение

Поместите оба условия в отдельные строки:
если $fromhost-ip!= '127.0.0.1' тогда -?PerHostLog
если $fromhost-ip!= '127.0.0.1', остановитесь

Если ваши фильтры работают, вы можете отредактировать ваш /etc/rsyslog.conf, чтобы остановить дубликаты согласно этой теме:

https://serverfault.com/questions/711708/stop-crontab-from-filling-syslog-ubuntu-15-04/717244

Другие вопросы по тегам